Explorar el Código

Merge branch 'dev/icss' into debug

gaodm hace 6 años
padre
commit
4e69731681

+ 9 - 4
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -13,6 +13,7 @@ import com.diagbot.entity.DeptInfo;
 import com.diagbot.entity.DeptVital;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.entity.VitalOrder;
+import com.diagbot.enums.InputModeEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.QuantitativeTypeEnum;
 import com.diagbot.enums.QuestionTypeEnum;
@@ -95,7 +96,7 @@ public class PushFacade {
      * @param pushVO
      * @return
      */
-    public PushDTO pushInner(PushVO pushVO) {
+    public PushDTO pushInner(PushVO pushVO,Integer mode) {
         PushDTO pushDTO = new PushDTO();
         ResponseData data = pushAI(pushVO);
 
@@ -125,13 +126,17 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Disease.getKey()))) {
             List<QuestionDTO> disDTO = getTagListByMap(disMap, pushVO, QuestionTypeEnum.Disease.getKey());
             Map<String, List<QuestionDTO>> disMapDTO = new LinkedHashMap<>();
+            //当前返回诊断都按疑似诊断处理,待大数据提供诊断分类
             disMapDTO.put("疑似诊断:", disDTO);
             pushDTO.setDis(disMapDTO);
         }
         //症状(主诉 type=1;现病史 type=2) 返回 tagName+填写单
         if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Symptom.getKey()))) {
-            List<QuestionDTO> symptomDTO = getTagListByMap(symptomMap, pushVO, QuestionTypeEnum.Symptom.getKey());
-            pushDTO.setSymptom(symptomDTO);
+            //文本模式不推症状,仅结构化模式推症状
+            if (mode.equals(InputModeEnum.Structured.getKey())) {
+                List<QuestionDTO> symptomDTO = getTagListByMap(symptomMap, pushVO, QuestionTypeEnum.Symptom.getKey());
+                pushDTO.setSymptom(symptomDTO);
+            }
         }
         //查体 返回模板
         if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Vital.getKey()))) {
@@ -150,9 +155,9 @@ public class PushFacade {
 
     /**
      * 获取返回结果标签
-     *
      * @param map
      * @param pushVO
+     * @param type
      * @return
      */
     public List<QuestionDTO> getTagListByMap(Map<String, Object> map, PushVO pushVO, Integer type) {

+ 3 - 2
icss-service/src/main/java/com/diagbot/web/PushController.java

@@ -5,6 +5,7 @@ import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.PushKYJDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.enums.InputModeEnum;
 import com.diagbot.facade.PushFacade;
 import com.diagbot.vo.PushKYJVO;
 import com.diagbot.vo.PushVO;
@@ -45,7 +46,7 @@ public class PushController {
     @PostMapping("/pushInner")
     @SysLogger("pushInner")
     public RespDTO<PushDTO> pushInner(@RequestBody @Valid PushVO pushVO) {
-        return RespDTO.onSuc(pushFacade.pushInner(pushVO));
+        return RespDTO.onSuc(pushFacade.pushInner(pushVO, InputModeEnum.Structured.getKey()));
     }
 
     @ApiOperation(value = "推理接口(文本模式)[by:zhaops]",
@@ -61,7 +62,7 @@ public class PushController {
     @PostMapping("/pushText")
     @SysLogger("pushText")
     public RespDTO<PushDTO> pushText(@RequestBody @Valid PushVO pushVO) {
-        return RespDTO.onSuc(pushFacade.pushInner(pushVO));
+        return RespDTO.onSuc(pushFacade.pushInner(pushVO, InputModeEnum.Text.getKey()));
     }
 
     @ApiOperation(value = "推理接口(大数据结果)[by:zhaops]",

+ 33 - 0
icssman-service/src/main/java/com/diagbot/dto/AddTagRetrievalDTO.java

@@ -0,0 +1,33 @@
+/**
+ * 
+ */
+package com.diagbot.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月5日下午5:00:34
+ */
+@ApiModel(value="标签添加同义词接口出参")
+@Getter
+@Setter
+public class AddTagRetrievalDTO {
+	
+	/**
+	 * 同义词id
+	 */
+	@ApiModelProperty(value="同义词id")
+	private Long retrievalId;
+	
+	/**
+	 * 同义词映射id
+	 */
+	@ApiModelProperty(value="同义词映射id")
+	private Long retrievalMappingId;
+	
+}

+ 12 - 0
icssman-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java

@@ -1,5 +1,6 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.DeptInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
@@ -7,8 +8,10 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.DeptInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddDeptInfoVO;
+import com.diagbot.vo.GetDeptInfoVO;
 import com.diagbot.vo.UpdateDeptInfoVO;
 import org.springframework.stereotype.Component;
 
@@ -75,4 +78,13 @@ public class DeptInfoFacade extends DeptInfoServiceImpl {
         return flag;
     }
 
+
+    public IPage<DeptInfo> getDeptInfo(GetDeptInfoVO getDeptInfoVO){
+        IPage iPage = this.getAllDeptInfo(getDeptInfoVO);
+        if (ListUtil.isEmpty(iPage.getRecords())){
+            throw new CommonException(CommonErrorCode.FAIL,
+                    "获取科室信息失败");
+        }
+        return iPage;
+    }
 }

+ 29 - 0
icssman-service/src/main/java/com/diagbot/facade/IntroduceInfoFacade.java

@@ -4,10 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.IntroduceDetail;
 import com.diagbot.entity.IntroduceInfo;
+import com.diagbot.entity.IntroduceMap;
 import com.diagbot.service.impl.IntroduceDetailServiceImpl;
 import com.diagbot.service.impl.IntroduceInfoServiceImpl;
+import com.diagbot.service.impl.IntroduceMapServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.IntroduceDetailVO;
+import com.diagbot.vo.IntroduceMapVO;
 import com.diagbot.vo.IntroducePageVO;
 import com.diagbot.vo.IntroduceVO;
 import com.google.common.collect.Lists;
@@ -32,6 +36,8 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
     IntroduceDetailFacade introduceDetailFacade;
     @Autowired
     IntroduceDetailServiceImpl introduceDetailServiceImpl;
+    @Autowired
+    IntroduceMapServiceImpl introduceMapServiceImpl;
 
     /**
      * 保存提示信息(新增or修改)
@@ -78,6 +84,21 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
         }
         //插入新的明细记录
         introduceDetailServiceImpl.saveBatch(introduceDetailList);
+
+        //更新映射关系
+        //删除已有映射关系
+        QueryWrapper<IntroduceMap> introduceMapQueryWrapper = new QueryWrapper<>();
+        introduceMapQueryWrapper.eq("introduce_id", introduceInfo.getId());
+        introduceMapFacade.remove(introduceMapQueryWrapper);
+        //插入新的映射关系
+        List<IntroduceMap> introduceMapList = Lists.newLinkedList();
+        for (IntroduceMapVO introduceMapVO : introduceVO.getMapVOList()) {
+            IntroduceMap introduceMap = new IntroduceMap();
+            BeanUtil.copyProperties(introduceMapVO, introduceMap);
+            introduceMap.setIntroduceId(introduceInfo.getId());
+            introduceMapList.add(introduceMap);
+        }
+        introduceMapServiceImpl.saveBatch(introduceMapList);
         return true;
     }
 
@@ -88,6 +109,10 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
      * @return
      */
     public Boolean deleteRecord(Long id) {
+        //删除已有映射关系
+        QueryWrapper<IntroduceMap> introduceMapQueryWrapper = new QueryWrapper<>();
+        introduceMapQueryWrapper.eq("introduce_id", id);
+        introduceMapFacade.remove(introduceMapQueryWrapper);
         //删除明细
         QueryWrapper<IntroduceDetail> introduceDetailQueryWrapper = new QueryWrapper<>();
         introduceDetailQueryWrapper.eq("introduce_id", id);
@@ -104,6 +129,10 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
      * @return
      */
     public Boolean deleteRecords(Long[] ids) {
+        //删除已有映射关系
+        QueryWrapper<IntroduceMap> introduceMapQueryWrapper = new QueryWrapper<>();
+        introduceMapQueryWrapper.in("introduce_id", ids);
+        introduceMapFacade.remove(introduceMapQueryWrapper);
         //删除明细
         QueryWrapper<IntroduceDetail> introduceDetailQueryWrapper = new QueryWrapper<>();
         introduceDetailQueryWrapper.in("introduce_id", ids);

+ 37 - 0
icssman-service/src/main/java/com/diagbot/facade/RetrievalFacede.java

@@ -8,8 +8,13 @@ import java.util.List;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.AddTagRetrievalDTO;
 import com.diagbot.dto.GetRetrievalsByTagDTO;
+import com.diagbot.entity.Retrieval;
+import com.diagbot.entity.RetrievalMapping;
 import com.diagbot.service.impl.RetrievalServiceImpl;
+import com.diagbot.vo.AddTagRetrievalVO;
 import com.diagbot.vo.DelRetrievalsByMapsVO;
 import com.diagbot.vo.GetRetrievalsByTagVO;
 
@@ -44,4 +49,36 @@ public class RetrievalFacede extends RetrievalServiceImpl {
 		return true;
 	}
 	
+	/**
+	 * 标签添加同义词
+	 * @param addTagRetrievalVO
+	 * @return
+	 */
+	public AddTagRetrievalDTO addTagRetrieval(AddTagRetrievalVO addTagRetrievalVO) {
+		AddTagRetrievalDTO addTagRetrievalDTO = new AddTagRetrievalDTO();
+		QueryWrapper<Retrieval> queryWrapper = new QueryWrapper<Retrieval>();
+		queryWrapper.eq("name", addTagRetrievalVO.getRetrievalName());
+		queryWrapper.eq("is_deleted", "N");
+		Retrieval retrieval = this.getOne(queryWrapper);
+		if(retrieval==null){
+			retrieval = new Retrieval();
+			retrieval.setName(addTagRetrievalVO.getRetrievalName());
+			this.save(retrieval);
+		}else{
+			QueryWrapper<RetrievalMapping> queryWrapper2 = new QueryWrapper<RetrievalMapping>();
+			queryWrapper2.eq("retrieval_id", retrieval.getId());
+			queryWrapper2.eq("question_id", addTagRetrievalVO.getQuestionId());
+			retrievalMappingFacede.remove(queryWrapper2);
+		}
+		
+		RetrievalMapping retrievalMapping = new RetrievalMapping();
+		retrievalMapping.setQuestionId(addTagRetrievalVO.getQuestionId());
+		retrievalMapping.setRetrievalId(retrieval.getId());
+		retrievalMappingFacede.save(retrievalMapping);
+		
+		addTagRetrievalDTO.setRetrievalId(retrieval.getId());
+		addTagRetrievalDTO.setRetrievalMappingId(retrievalMapping.getId());
+		return addTagRetrievalDTO;
+	}
+	
 }

+ 9 - 1
icssman-service/src/main/java/com/diagbot/mapper/DeptInfoMapper.java

@@ -1,7 +1,9 @@
 package com.diagbot.mapper;
 
-import com.diagbot.entity.DeptInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.entity.DeptInfo;
+import com.diagbot.vo.GetDeptInfoVO;
 
 /**
  * <p>
@@ -13,4 +15,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface DeptInfoMapper extends BaseMapper<DeptInfo> {
 
+    /**
+     * 获取科室信息
+     * @param getDeptInfoVO
+     * @return
+     */
+    public IPage<DeptInfo> getAllDeptInfo(GetDeptInfoVO getDeptInfoVO);
 }

+ 9 - 1
icssman-service/src/main/java/com/diagbot/service/DeptInfoService.java

@@ -1,7 +1,9 @@
 package com.diagbot.service;
 
-import com.diagbot.entity.DeptInfo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.DeptInfo;
+import com.diagbot.vo.GetDeptInfoVO;
 
 /**
  * <p>
@@ -13,4 +15,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface DeptInfoService extends IService<DeptInfo> {
 
+    /**
+     * 获取科室信息
+     * @param getDeptInfoVO
+     * @return
+     */
+    public IPage<DeptInfo> getAllDeptInfo(GetDeptInfoVO getDeptInfoVO);
 }

+ 7 - 1
icssman-service/src/main/java/com/diagbot/service/impl/DeptInfoServiceImpl.java

@@ -1,9 +1,11 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.entity.DeptInfo;
 import com.diagbot.mapper.DeptInfoMapper;
 import com.diagbot.service.DeptInfoService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.vo.GetDeptInfoVO;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +19,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class DeptInfoServiceImpl extends ServiceImpl<DeptInfoMapper, DeptInfo> implements DeptInfoService {
 
+    @Override
+    public IPage<DeptInfo> getAllDeptInfo(GetDeptInfoVO getDeptInfoVO) {
+        return baseMapper.getAllDeptInfo(getDeptInfoVO);
+    }
 }

+ 36 - 0
icssman-service/src/main/java/com/diagbot/vo/AddTagRetrievalVO.java

@@ -0,0 +1,36 @@
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月5日下午5:00:52
+ */
+@ApiModel(value="标签添加同义词接口传参")
+@Getter
+@Setter
+public class AddTagRetrievalVO {
+	
+	/**
+     * 标签id
+     */
+	@ApiModelProperty(value="标签id",required=true)
+	@NotNull(message="标签id必传")
+    private Long questionId;
+	
+	
+	/**
+	 * 同义词名称
+	 */
+	@ApiModelProperty(value="同义词名称",required=true)
+	@NotBlank(message="同义词名称必传")
+	private String retrievalName;
+	
+}

+ 17 - 0
icssman-service/src/main/java/com/diagbot/vo/GetDeptInfoVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/12/6 15:46
+ */
+@Getter
+@Setter
+public class GetDeptInfoVO extends Page {
+
+    private String name;
+}

+ 1 - 1
icssman-service/src/main/java/com/diagbot/vo/IntroduceMapVO.java

@@ -15,7 +15,7 @@ import javax.validation.constraints.NotNull;
 public class IntroduceMapVO {
     @NotNull(message = "请输入标签id")
     private Long questionId;
-    @NotNull(message = "请输入提示信息id")
+    //@NotNull(message = "请输入提示信息id")
     private Long introduceId;
     @NotNull(message = "请输入标签类型")
     private Integer type;

+ 1 - 1
icssman-service/src/main/java/com/diagbot/vo/IntroduceVO.java

@@ -1,6 +1,5 @@
 package com.diagbot.vo;
 
-import com.diagbot.entity.IntroduceDetail;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -20,4 +19,5 @@ public class IntroduceVO {
     private String name;
     private String remark;
     private List<IntroduceDetailVO> detailVOList;
+    private List<IntroduceMapVO> mapVOList;
 }

+ 13 - 0
icssman-service/src/main/java/com/diagbot/web/DeptInfoController.java

@@ -1,10 +1,13 @@
 package com.diagbot.web;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.DeptInfo;
 import com.diagbot.facade.DeptInfoFacade;
 import com.diagbot.vo.AddDeptInfoVO;
+import com.diagbot.vo.GetDeptInfoVO;
 import com.diagbot.vo.UpdateDeptInfoVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -62,4 +65,14 @@ public class DeptInfoController {
         Boolean data = deptInfoFacade.deleteDeptInfo(updateDeptInfoVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "科室维护——查询[by:wangyu]",
+            notes = "name: 科室名称 <br>")
+    @PostMapping("/getDeptInfo")
+    @SysLogger("getDeptInfo")
+    @Transactional
+    public RespDTO<IPage<DeptInfo>> getDeptInfo(@RequestBody GetDeptInfoVO getDeptInfoVO) {
+        IPage<DeptInfo> data = deptInfoFacade.getDeptInfo(getDeptInfoVO);
+        return RespDTO.onSuc(data);
+    }
 }

+ 9 - 1
icssman-service/src/main/java/com/diagbot/web/RetrievalController.java

@@ -12,9 +12,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.AddTagRetrievalDTO;
 import com.diagbot.dto.GetRetrievalsByTagDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.RetrievalFacede;
+import com.diagbot.vo.AddTagRetrievalVO;
 import com.diagbot.vo.DelRetrievalsByMapsVO;
 import com.diagbot.vo.GetRetrievalsByTagVO;
 
@@ -54,7 +56,13 @@ public class RetrievalController {
 		return RespDTO.onSuc(retrievalFacede.delRetrievalsByMaps(delRetrievalsByMapsVO));
 	}
 	
-	
+    @ApiOperation(value = "标签添加同义词[by:rengb]")
+	@PostMapping("/addTagRetrieval")
+	@SysLogger("addTagRetrieval")
+	@Transactional
+	public RespDTO<AddTagRetrievalDTO> addTagRetrieval(@Valid @RequestBody AddTagRetrievalVO addTagRetrievalVO) {
+		return RespDTO.onSuc(retrievalFacede.addTagRetrieval(addTagRetrievalVO));
+	}
 	
 	
 	

+ 7 - 0
icssman-service/src/main/resources/mapper/DeptInfoMapper.xml

@@ -14,4 +14,11 @@
         <result column="remark" property="remark" />
     </resultMap>
 
+    <select id="getAllDeptInfo" resultType="com.diagbot.dto.DeptInfoDTO">
+        SELECT * FROM `icss_dept_info` WHERE is_deleted = 'N'
+         <if test="name != null and name != ''">
+             AND `name` LIKE CONCAT('%',#{name},'%')
+         </if>
+        order by id desc
+    </select>
 </mapper>