Browse Source

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

wangyu 6 năm trước cách đây
mục cha
commit
f7a6235656
21 tập tin đã thay đổi với 282 bổ sung161 xóa
  1. 15 6
      aipt-service/src/main/java/com/diagbot/facade/EvaluationFacade.java
  2. 2 2
      aipt-service/src/main/java/com/diagbot/mapper/EvaluationMapper.java
  3. 2 2
      aipt-service/src/main/java/com/diagbot/service/EvaluationService.java
  4. 2 2
      aipt-service/src/main/java/com/diagbot/service/impl/EvaluationServiceImpl.java
  5. 2 2
      aipt-service/src/main/java/com/diagbot/vo/EvaluationdiseaseNameVO.java
  6. 3 4
      aipt-service/src/main/java/com/diagbot/web/EvaluationController.java
  7. 31 11
      icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  8. 35 9
      icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  9. 18 68
      icss-service/src/main/java/com/diagbot/facade/EvaluationModuleMappingFacade.java
  10. 2 0
      icss-service/src/main/java/com/diagbot/facade/IndexConfigFacade.java
  11. 1 1
      icss-service/src/main/java/com/diagbot/facade/PushFacade.java
  12. 2 2
      icss-service/src/main/java/com/diagbot/vo/EvaluationDiseaseNameVO.java
  13. 3 3
      icss-service/src/main/java/com/diagbot/web/EvaluationModuleMappingController.java
  14. 1 2
      icss-service/src/main/java/com/diagbot/web/IndexConfigController.java
  15. 3 2
      icssman-service/src/main/java/com/diagbot/dto/DeptVitalDTO.java
  16. 110 23
      icssman-service/src/main/java/com/diagbot/facade/DeptVitalFacade.java
  17. 1 1
      icssman-service/src/main/java/com/diagbot/vo/DeptVitalPageVO.java
  18. 15 6
      icssman-service/src/main/java/com/diagbot/web/DeptVitalController.java
  19. 5 7
      icssman-service/src/main/resources/mapper/DeptVitalMapper.xml
  20. 21 5
      knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  21. 8 3
      knowledgeman-service/src/main/java/com/diagbot/vo/AddConceptInfoVO.java

+ 15 - 6
aipt-service/src/main/java/com/diagbot/facade/EvaluationFacade.java

@@ -2,9 +2,13 @@ package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSONObject;
 import com.diagbot.dto.EvaluationDTO;
+import com.diagbot.service.EvaluationService;
 import com.diagbot.service.impl.EvaluationServiceImpl;
-import com.diagbot.vo.EvaluationdiseaseNameVO;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.vo.EvaluationDiseaseNameVO;
+import com.diagbot.vo.SearchVo;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -15,18 +19,23 @@ public class EvaluationFacade extends EvaluationServiceImpl {
 
 	@Autowired
 	PushFacade pushFacade;
+	@Autowired
+	@Qualifier("evaluationServiceImpl")
+	EvaluationService evaluationService;
 
 	/**
 	 * 获取管理与评估模板接口
 	 *
-	 * @param evaluationdiseaseNameVO
+	 * @param searchVo
 	 * @return
 	 */
-	public List<EvaluationDTO> getEvaluationModule(EvaluationdiseaseNameVO evaluationdiseaseNameVO) {
+	public List<EvaluationDTO> getEvaluationModule(SearchVo searchVo) {
 
-		List<EvaluationDTO> evaluationList = getEvaluationModule(evaluationdiseaseNameVO);
+		EvaluationDiseaseNameVO evaluationdiseaseNameVO = new EvaluationDiseaseNameVO();
+		BeanUtil.copyProperties(searchVo, evaluationdiseaseNameVO);
+		List<EvaluationDTO> evaluationList = evaluationService.getEvaluationModule(evaluationdiseaseNameVO);
 
-		Map<String, JSONObject> jsonobject = pushFacade.getManagementEvaluationContent(evaluationdiseaseNameVO);
+		Map<String, JSONObject> jsonobject = pushFacade.getManagementEvaluationContent(searchVo);
 		for (String key : jsonobject.keySet()) {
 			for (EvaluationDTO evaluadata : evaluationList) {
 				if (key.equals(evaluadata.getRegionName())) {
@@ -36,4 +45,4 @@ public class EvaluationFacade extends EvaluationServiceImpl {
 		}
 		return evaluationList;
 	}
-}
+}

+ 2 - 2
aipt-service/src/main/java/com/diagbot/mapper/EvaluationMapper.java

@@ -2,7 +2,7 @@ package com.diagbot.mapper;
 
 import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.entity.Evaluation;
-import com.diagbot.vo.EvaluationdiseaseNameVO;
+import com.diagbot.vo.EvaluationDiseaseNameVO;
 
 import java.util.List;
 
@@ -22,6 +22,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface EvaluationMapper extends BaseMapper<Evaluation> {
 
-	List<EvaluationDTO> getEvaluationModule(@Param("evaluationModule") EvaluationdiseaseNameVO evaluationdiseaseNameVO);
+	List<EvaluationDTO> getEvaluationModule(@Param("evaluationModule") EvaluationDiseaseNameVO evaluationdiseaseNameVO);
 
 }

+ 2 - 2
aipt-service/src/main/java/com/diagbot/service/EvaluationService.java

@@ -2,7 +2,7 @@ package com.diagbot.service;
 
 import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.entity.Evaluation;
-import com.diagbot.vo.EvaluationdiseaseNameVO;
+import com.diagbot.vo.EvaluationDiseaseNameVO;
 
 import java.util.List;
 
@@ -20,6 +20,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface EvaluationService extends IService<Evaluation> {
 
-	List<EvaluationDTO> getEvaluationModule(@Valid EvaluationdiseaseNameVO evaluationdiseaseNameVO);
+	List<EvaluationDTO> getEvaluationModule(@Valid EvaluationDiseaseNameVO evaluationdiseaseNameVO);
 
 }

+ 2 - 2
aipt-service/src/main/java/com/diagbot/service/impl/EvaluationServiceImpl.java

@@ -4,7 +4,7 @@ import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.entity.Evaluation;
 import com.diagbot.mapper.EvaluationMapper;
 import com.diagbot.service.EvaluationService;
-import com.diagbot.vo.EvaluationdiseaseNameVO;
+import com.diagbot.vo.EvaluationDiseaseNameVO;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import java.util.List;
@@ -25,7 +25,7 @@ import org.springframework.stereotype.Service;
 public class EvaluationServiceImpl extends ServiceImpl<EvaluationMapper, Evaluation> implements EvaluationService {
 
 	@Override
-	public List<EvaluationDTO> getEvaluationModule(@Valid EvaluationdiseaseNameVO evaluationdiseaseNameVO) {
+	public List<EvaluationDTO> getEvaluationModule(@Valid EvaluationDiseaseNameVO evaluationdiseaseNameVO) {
 		
 		return baseMapper.getEvaluationModule(evaluationdiseaseNameVO);
 	}

+ 2 - 2
aipt-service/src/main/java/com/diagbot/vo/EvaluationdiseaseNameVO.java

@@ -11,8 +11,8 @@ import lombok.Setter;
  */
 @Setter
 @Getter
-public class EvaluationdiseaseNameVO extends SearchVo{
+public class EvaluationDiseaseNameVO extends SearchVo{
 
-	private String diseaseName;
+	//private String diseaseName;
 	
 }

+ 3 - 4
aipt-service/src/main/java/com/diagbot/web/EvaluationController.java

@@ -4,7 +4,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.EvaluationFacade;
-import com.diagbot.vo.EvaluationdiseaseNameVO;
+import com.diagbot.vo.SearchVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,9 +36,8 @@ public class EvaluationController {
     @ApiOperation(value = "获取管理与评估模板[by:wangfeng]", notes = "获取管理与评估模板")
     @PostMapping("/getEvaluationModules")
     @SysLogger("getEvaluationModules")
-    public RespDTO<List<EvaluationDTO>> getEvaluationModules(@Valid @RequestBody EvaluationdiseaseNameVO evaluationdiseaseNameVO) {
-        List<EvaluationDTO> data = evaluationFacade.getEvaluationModule(evaluationdiseaseNameVO);
+    public RespDTO<List<EvaluationDTO>> getEvaluationModules(@Valid @RequestBody SearchVo searchVo) {
+        List<EvaluationDTO> data = evaluationFacade.getEvaluationModule(searchVo);
         return RespDTO.onSuc(data);
     }
-
 }

+ 31 - 11
icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -1,5 +1,15 @@
 package com.diagbot.client;
 
+import java.util.List;
+import java.util.Map;
+
+import javax.validation.Valid;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ConceptBaseVO;
 import com.diagbot.client.bean.ConceptExistVO;
@@ -17,7 +27,9 @@ import com.diagbot.dto.DisTypeDTO;
 import com.diagbot.dto.DiseaseIcdDTO;
 import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.dto.GetTopPatientInfoDTO;
+import com.diagbot.dto.IndexConfigAndDataDTO;
 import com.diagbot.dto.IndexConfigDTO;
+import com.diagbot.dto.IndexDataDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.ScaleContent;
@@ -26,19 +38,12 @@ import com.diagbot.vo.ConceptSearchVO;
 import com.diagbot.vo.ConceptUsualVO;
 import com.diagbot.vo.DeptInfoVO;
 import com.diagbot.vo.DisScaleVO;
-import com.diagbot.vo.EvaluationdiseaseNameVO;
 import com.diagbot.vo.GetDiseaseIcdVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.IndexConfigdiseaseNameVO;
+import com.diagbot.vo.IndexDataFindVO;
+import com.diagbot.vo.IndexDataSaveVO;
 import com.diagbot.vo.RetrievalVO;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import javax.validation.Valid;
-import java.util.List;
-import java.util.Map;
 
 /**
  * @Description:调用中间层服务
@@ -104,11 +109,11 @@ public interface AiptServiceClient {
     /**
      * 获取管理评估模板
      *
-     * @param evaluationdiseaseNameVO
+     * @param searchData
      * @return
      */
     @PostMapping("/evaluation/getEvaluationModules")
-    RespDTO<List<EvaluationDTO>> getEvaluationModules(@RequestBody EvaluationdiseaseNameVO evaluationdiseaseNameVO);
+    RespDTO<List<EvaluationDTO>> getEvaluationModules(@RequestBody SearchData searchData);
 
     /**
      * 获取指标配置
@@ -181,4 +186,19 @@ public interface AiptServiceClient {
      */
     @PostMapping("/concept/retrivelConceptInfo")
     RespDTO<List<ConceptRetrievalDTO>> retrivelConceptInfo(@RequestBody @Valid RetrievalVO retrievalVO);
+    /**
+     * 
+     * @param indexDataFindVO
+     * @return
+     */
+    @PostMapping(value = "/indexData/getIndexDatas")
+	RespDTO<List<IndexConfigAndDataDTO>> getIndexDatas(@RequestBody IndexDataFindVO indexDataFindVO);
+	 
+    /**
+     * 
+     * @param indexDataSaveVO
+     * @return
+     */
+	@PostMapping(value = "/indexData/saveIndexDatas")
+    RespDTO<Boolean> saveIndexDatas(@RequestBody IndexDataSaveVO indexDataSaveVO);
 }

+ 35 - 9
icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -1,5 +1,14 @@
 package com.diagbot.client.hystrix;
 
+import java.util.List;
+import java.util.Map;
+
+import javax.validation.Valid;
+
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ConceptBaseVO;
@@ -17,6 +26,7 @@ import com.diagbot.dto.DisTypeDTO;
 import com.diagbot.dto.DiseaseIcdDTO;
 import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.dto.GetTopPatientInfoDTO;
+import com.diagbot.dto.IndexConfigAndDataDTO;
 import com.diagbot.dto.IndexConfigDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
@@ -26,19 +36,14 @@ import com.diagbot.vo.ConceptSearchVO;
 import com.diagbot.vo.ConceptUsualVO;
 import com.diagbot.vo.DeptInfoVO;
 import com.diagbot.vo.DisScaleVO;
-import com.diagbot.vo.EvaluationdiseaseNameVO;
 import com.diagbot.vo.GetDiseaseIcdVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
 import com.diagbot.vo.IndexConfigdiseaseNameVO;
+import com.diagbot.vo.IndexDataFindVO;
+import com.diagbot.vo.IndexDataSaveVO;
 import com.diagbot.vo.RetrievalVO;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
 
-import javax.validation.Valid;
-import java.util.List;
-import java.util.Map;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @Description:调用中间层服务
@@ -139,7 +144,7 @@ public class AiptServiceHystrix implements AiptServiceClient {
     }
 
     @Override
-    public RespDTO<List<EvaluationDTO>> getEvaluationModules(@Valid EvaluationdiseaseNameVO evaluationdiseaseNameVO) {
+    public RespDTO<List<EvaluationDTO>> getEvaluationModules(@Valid SearchData searchData) {
         log.error("【hystrix】调用{}异常", "getEvaluationModules");
         return null;
     }
@@ -233,4 +238,25 @@ public class AiptServiceHystrix implements AiptServiceClient {
         log.error("【hystrix】调用{}异常", "retrivelConceptInfo");
         return null;
     }
+    /**
+     * 指标获取
+     * @param indexDataFindVO
+     * @return
+     */
+    @Override
+	public RespDTO<List<IndexConfigAndDataDTO>> getIndexDatas(@Valid IndexDataFindVO indexDataFindVO) {
+		log.error("【hystrix】调用{}异常", "getIndexDatas");
+		return null;
+	}
+
+    /**
+     * 指标保存
+     * @param indexDataSaveVO
+     * @return
+     */
+	@Override
+	public RespDTO<Boolean> saveIndexDatas(@Valid IndexDataSaveVO indexDataSaveVO) {
+		log.error("【hystrix】调用{}异常", "saveIndexDatas");
+		return null;
+	}
 }

+ 18 - 68
icss-service/src/main/java/com/diagbot/facade/EvaluationModuleMappingFacade.java

@@ -1,21 +1,15 @@
 package com.diagbot.facade;
 
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.alibaba.fastjson.JSONObject;
 import com.diagbot.client.AiptServiceClient;
+import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.exception.CommonErrorCode;
-import com.diagbot.exception.CommonException;
-import com.diagbot.util.BeanUtil;
 import com.diagbot.util.RespDTOUtil;
-import com.diagbot.vo.EvaluationDiseaseIdVO;
-import com.diagbot.vo.EvaluationdiseaseNameVO;
+import com.diagbot.vo.EvaluationDiseaseNameVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
 
 /**
  * 
@@ -25,73 +19,29 @@ import com.diagbot.vo.EvaluationdiseaseNameVO;
  * @date 2019年3月11日 下午4:19:09
  */
 @Component
-public class EvaluationModuleMappingFacade  {
+public class EvaluationModuleMappingFacade {
 
 	/*@Autowired
 	IndexConfigFacade indexConfigFacade;
 	*/
 	@Autowired
 	PushFacade pushFacade;
-	@Autowired 
+	@Autowired
 	AiptServiceClient aiptServiceClient;
+	@Autowired
+	AssembleFacade assembleFacade;
+
 	/**
 	 * 获取管理与评估模板接口
 	 *
-	 * @param evaluationDiseaseIdVO
+	 * @param evaluationdiseaseNameVO
 	 * @return
 	 */
-	public List<EvaluationDTO> getEvaluationModule(EvaluationDiseaseIdVO evaluationDiseaseIdVO) {
-/*		//根据慢病id获取模板信息
-		QueryWrapper<EvaluationModuleMapping> evaluationModuleQuery = new QueryWrapper<>();
-		evaluationModuleQuery.eq("disease_id", evaluationDiseaseIdVO.getDiseaseId()).eq("is_deleted",
-				IsDeleteEnum.N.getKey());
-
-		List<EvaluationModuleMapping> datas = list(evaluationModuleQuery);*/
-		EvaluationdiseaseNameVO evaluationdiseaseNameVO =new EvaluationdiseaseNameVO();
-		//TODO 联调需修改
-		evaluationdiseaseNameVO.setDiseaseName("糖尿病");
-		RespDTO<List<EvaluationDTO>> evaluationList = aiptServiceClient.getEvaluationModules(evaluationdiseaseNameVO);
+	public List<EvaluationDTO> getEvaluationModule(EvaluationDiseaseNameVO evaluationdiseaseNameVO) {
+		SearchData searchData = assembleFacade.assembleData(evaluationdiseaseNameVO);
+		RespDTO<List<EvaluationDTO>> evaluationList = aiptServiceClient.getEvaluationModules(searchData);
 		RespDTOUtil.respNGDeal(evaluationList, "获取管理与评估模板数据失败!");
-		List<EvaluationDTO> datas= evaluationList.data;
-		// 过滤
-		List<EvaluationDTO> data = BeanUtil.listCopyTo(datas, EvaluationDTO.class);
-		//获取大数据知识图谱推送数据
-		Map<String, JSONObject> jsonobject = pushFacade.getManagementEvaluationContent(evaluationDiseaseIdVO, null);
-		for (String key : jsonobject.keySet()) {
-			for (EvaluationDTO evaluadata : data) {
-				if (key.equals(evaluadata.getRegionName())) {
-					evaluadata.setData(jsonobject.get(key));
-
-				}
-			}
-
-		}
-		return data;
-	}
-/*
-	*//**
-	 * 获取管理与评估模板接口
-	 *
-	 * @param diseaseId
-	 * @param contentMap
-	 * @return
-	 */
-	public List<EvaluationDTO> getEvaluationModule(Long diseaseId, Map<String, JSONObject> contentMap) {
-		EvaluationdiseaseNameVO evaluationdiseaseNameVO =new EvaluationdiseaseNameVO();
-		evaluationdiseaseNameVO.setDiseaseName("糖尿病");
-		RespDTO<List<EvaluationDTO>> evaluationList = aiptServiceClient.getEvaluationModules(evaluationdiseaseNameVO);
-		List<EvaluationDTO> datas= evaluationList.data;
-		// 过滤
-		List<EvaluationDTO> data = BeanUtil.listCopyTo(datas, EvaluationDTO.class);
-		if (contentMap != null && contentMap.size() > 0) {
-			for (String key : contentMap.keySet()) {
-				for (EvaluationDTO evaluadata : data) {
-					if (key.equals(evaluadata.getRegionName())) {
-						evaluadata.setData(contentMap.get(key));
-					}
-				}
-			}
-		}
-		return data;
+		List<EvaluationDTO> datas = evaluationList.data;
+		return datas;
 	}
-}
+}

+ 2 - 0
icss-service/src/main/java/com/diagbot/facade/IndexConfigFacade.java

@@ -8,6 +8,7 @@ import org.springframework.stereotype.Component;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.dto.IndexConfigDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.IndexConfigdiseaseNameVO;
 
 /**
@@ -28,6 +29,7 @@ public class IndexConfigFacade {
      */
     public RespDTO<List<IndexConfigDTO>> getindexConfig(IndexConfigdiseaseNameVO indexConfigdiseaseNameVO) {
     	RespDTO<List<IndexConfigDTO>> indexConfigList = aiptServiceClient.getindexConfigs(indexConfigdiseaseNameVO);
+    	RespDTOUtil.respNGDeal(indexConfigList, "获取指标配置数据失败!");
         return indexConfigList;
     }
 

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

@@ -579,7 +579,7 @@ public class PushFacade {
     public List<ConceptPushDTO> addQuestionId(List<ConceptPushDTO> concepts, Integer type) {
         QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
         List<String> nameList = concepts.stream().map(concept -> concept.getName()).collect(Collectors.toList());
-        questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).in("tagName", nameList).eq("type", type);
+        questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).in("tag_name", nameList).eq("type", type);
         List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
         if (ListUtil.isNotEmpty(questionInfoList)) {
             Map<String, QuestionInfo> questionInfoMap = EntityUtil.makeEntityMap(questionInfoList, "tagName");

+ 2 - 2
icss-service/src/main/java/com/diagbot/vo/EvaluationDiseaseNameVO.java

@@ -11,8 +11,8 @@ import lombok.Setter;
  */
 @Setter
 @Getter
-public class EvaluationdiseaseNameVO {
+public class EvaluationDiseaseNameVO extends PushVO{
 
-	private String diseaseName;
+	//private String diseaseName;
 	
 }

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

@@ -14,7 +14,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.EvaluationModuleMappingFacade;
-import com.diagbot.vo.EvaluationDiseaseIdVO;
+import com.diagbot.vo.EvaluationDiseaseNameVO;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -39,8 +39,8 @@ public class EvaluationModuleMappingController {
     @ApiOperation(value = "知识库标准化-获取管理与评估模板[by:wangfeng]", notes = "获取管理与评估模板")
     @PostMapping("/getEvaluationModules")
     @SysLogger("getEvaluationModules")
-    public RespDTO<List<EvaluationDTO>> getEvaluationModules(@Valid @RequestBody EvaluationDiseaseIdVO evaluationDiseaseIdVO) {
-        List<EvaluationDTO> data = evaluationModuleMappingFacade.getEvaluationModule(evaluationDiseaseIdVO);
+    public RespDTO<List<EvaluationDTO>> getEvaluationModules(@Valid @RequestBody EvaluationDiseaseNameVO evaluationDiseaseNameVO) {
+        List<EvaluationDTO> data = evaluationModuleMappingFacade.getEvaluationModule(evaluationDiseaseNameVO);
         return RespDTO.onSuc(data);
     }
 

+ 1 - 2
icss-service/src/main/java/com/diagbot/web/IndexConfigController.java

@@ -17,7 +17,6 @@ import com.diagbot.vo.IndexConfigdiseaseNameVO;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import springfox.documentation.annotations.ApiIgnore;
 
 /**
  * <p>
@@ -41,6 +40,6 @@ public class IndexConfigController {
     @SysLogger("getindexConfigs")
     public RespDTO<List<IndexConfigDTO>> getindexConfigs(@RequestBody IndexConfigdiseaseNameVO indexConfigdiseaseNameVO) {
     	return indexConfigFacade.getindexConfig(indexConfigdiseaseNameVO);
-         
+     
     }
 }

+ 3 - 2
icssman-service/src/main/java/com/diagbot/dto/DeptVitalDTO.java

@@ -1,6 +1,5 @@
 package com.diagbot.dto;
 
-import com.diagbot.entity.DeptInfo;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -14,7 +13,9 @@ import java.util.List;
  */
 @Getter
 @Setter
-public class DeptVitalDTO extends DeptInfo {
+public class DeptVitalDTO {
+    private Long deptId; // 科室概念id
+    private String name;    //概念名称
     private String operator;
     private String operatorName;
     private Date gmtOperate;

+ 110 - 23
icssman-service/src/main/java/com/diagbot/facade/DeptVitalFacade.java

@@ -3,12 +3,13 @@ package com.diagbot.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.client.KnowledgemanServiceClient;
 import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.DeptShortDTO;
 import com.diagbot.dto.DeptVitalDTO;
 import com.diagbot.dto.QuestionShortDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.DeptInfo;
 import com.diagbot.entity.DeptVital;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.enums.IsDeleteEnum;
@@ -20,7 +21,11 @@ import com.diagbot.service.impl.DeptVitalServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.UserUtils;
+import com.diagbot.vo.ConceptSearchVO;
+import com.diagbot.vo.ConceptTypeVO;
 import com.diagbot.vo.DVDetailVO;
 import com.diagbot.vo.DeptVitalPageVO;
 import com.diagbot.vo.DeptVitalVO;
@@ -29,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -45,12 +51,12 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
     @Autowired
     private QuestionFacade questionFacade;
     @Autowired
-    private DeptInfoFacade deptInfoFacade;
-    @Autowired
     @Qualifier("deptVitalServiceImpl")
     private DeptVitalService deptVitalService;
     @Autowired
     private UserServiceClient userServiceClient;
+    @Autowired
+    private KnowledgemanServiceClient klmServiceClient;
 
     /**
      * 保存查体模板
@@ -59,10 +65,16 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
      * @return
      */
     public Boolean saveDeptVitals(DeptVitalVO deptVitalVO) {
-        DeptInfo deptInfo = deptInfoFacade.getById(deptVitalVO.getDeptId());
-        if (deptInfo == null) {
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "科室不存在");
+        //科室存在性验证
+        isExist(deptVitalVO.getDeptId());
+        //验证模板是否已存在
+        QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<>();
+        deptVitalQueryWrapper.eq("dept_id", deptVitalVO.getDeptId()).
+                eq("is_deleted", IsDeleteEnum.N.getKey());
+        if (this.count(deptVitalQueryWrapper) > 0) {
+            throw new CommonException(CommonErrorCode.IS_EXISTS, "该科室模板已经存在!");
         }
+
         //先删除该科室原有模板
         UpdateWrapper<DeptVital> deptVitalUpdateWrapper = new UpdateWrapper<>();
         deptVitalUpdateWrapper.eq("dept_id", deptVitalVO.getDeptId()).
@@ -151,14 +163,11 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
      * @return
      */
     public DeptVitalDTO getModuleByDeptId(Long deptId) {
+        //科室存在性验证
+        Map<Long, String> deptMap = isExist(deptId);
         DeptVitalDTO deptVitalDTO = new DeptVitalDTO();
-        DeptInfo deptInfo = deptInfoFacade.getById(deptId);
-        if (deptInfo == null) {
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "科室不存在");
-        } else if (deptInfo.getIsDeleted().equals(IsDeleteEnum.Y.getKey())) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "科室已删除");
-        }
-        BeanUtil.copyProperties(deptInfo, deptVitalDTO);
+        deptVitalDTO.setDeptId(deptId);
+        deptVitalDTO.setName(deptMap.get(deptId));
 
         //已关联查体
         QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<>();
@@ -205,13 +214,24 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
     public IPage<DeptVitalDTO> getDeptVitalPageByMap(DeptVitalPageVO deptVitalPageVO) {
         IPage<DeptVitalDTO> page = this.getDeptVitalPage(deptVitalPageVO);
         List<DeptVitalDTO> deptVitalDTOList = page.getRecords();
+        //操作人信息
         List<String> userIds = deptVitalDTOList.stream().map(deptVitalDTO -> deptVitalDTO.getOperator()).collect(Collectors.toList());
         RespDTO<Map<String, String>> data = userServiceClient.getUserInfoByIds(userIds);
         Map<String, String> userInfos = data.data;
+        //科室信息
+        List<Long> deptIds = deptVitalDTOList.stream().map(deptVitalDTO -> deptVitalDTO.getDeptId()).collect(Collectors.toList());
+        ConceptSearchVO conceptSearchVO = new ConceptSearchVO();
+        conceptSearchVO.setConceptIds(deptIds);
+        RespDTO<Map<Long, String>> deptMap = klmServiceClient.getConceptMap(conceptSearchVO);
+        Map<Long, String> depts = deptMap.data;
+
         for (DeptVitalDTO deptVitalDTO : deptVitalDTOList) {
-            if (userInfos.get(deptVitalDTO.getOperator()) != null) {
+            if (null != userInfos.get(deptVitalDTO.getOperator())) {
                 deptVitalDTO.setOperatorName(userInfos.get(deptVitalDTO.getOperator()));
             }
+            if (null != depts.get(deptVitalDTO.getDeptId())) {
+                deptVitalDTO.setName(depts.get(deptVitalDTO.getDeptId()));
+            }
         }
         page.setRecords(deptVitalDTOList);
         return page;
@@ -223,11 +243,23 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
      * @return
      */
     public List<DeptShortDTO> getDeptShortList(List<Long> deptIds) {
-        QueryWrapper<DeptInfo> deptInfoQueryWrapper = new QueryWrapper<>();
-        deptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
-                notIn("id", deptIds);
-        List<DeptInfo> deptInfoList = deptInfoFacade.list(deptInfoQueryWrapper);
-        List<DeptShortDTO> deptShortDTOList = BeanUtil.listCopyTo(deptInfoList, DeptShortDTO.class);
+        //获取所有科室
+        ConceptTypeVO conceptTypeVO = new ConceptTypeVO();
+        conceptTypeVO.setType(1);
+        RespDTO<List<ConceptBaseDTO>> deptList = klmServiceClient.getConceptListByType(conceptTypeVO);
+        RespDTOUtil.respNGDealCover(deptList, "科室不存在");
+        //去除已经存在的科室
+        List<DeptShortDTO> deptShortDTOList = new ArrayList<>();
+        if (ListUtil.isNotEmpty(deptList.data)) {
+            for (ConceptBaseDTO conceptBaseDTO : deptList.data) {
+                if (!deptIds.contains(conceptBaseDTO.getConceptId())) {
+                    DeptShortDTO deptShortDTO = new DeptShortDTO();
+                    deptShortDTO.setId(conceptBaseDTO.getConceptId());
+                    deptShortDTO.setName(conceptBaseDTO.getName());
+                    deptShortDTOList.add(deptShortDTO);
+                }
+            }
+        }
         return deptShortDTOList;
     }
 
@@ -252,16 +284,71 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
      * @return
      */
     public List<DeptShortDTO> getDeptShortLisModify(Long expId) {
+        List<Long> deptIds = this.getAllExist();
+        if (deptIds.contains(expId)) {
+            deptIds.remove(expId);
+            deptIds.size();
+        }
+        return getDeptShortList(deptIds);
+    }
+
+    /**
+     * 获取科室下拉列表-查询
+     *
+     * @return
+     */
+    public List<DeptShortDTO> getDeptShortListSearch() {
+        List<Long> deptIds = this.getAllExist();
+        List<DeptShortDTO> res = ListUtil.newArrayList();
+        if (ListUtil.isNotEmpty(deptIds)) {
+            ConceptSearchVO conceptSearchVO = new ConceptSearchVO();
+            List<Long> conceptIds = ListUtil.newArrayList();
+            conceptSearchVO.setConceptIds(deptIds);
+            RespDTO<Map<Long, String>> deptMap = klmServiceClient.getConceptMap(conceptSearchVO);
+            for (Long deptId : deptIds) {
+                if (null != deptMap.data.get(deptId)) {
+                    DeptShortDTO deptShortDTO = new DeptShortDTO();
+                    deptShortDTO.setId(deptId);
+                    deptShortDTO.setName(deptMap.data.get(deptId));
+                    res.add(deptShortDTO);
+                }
+            }
+        }
+
+        return res;
+    }
+
+    /**
+     * 获取所有已经存在的科室
+     *
+     * @return 已经存在的科室的Id列表
+     */
+    private List<Long> getAllExist() {
         QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<>();
         deptVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
                 select("dept_id").
                 groupBy("dept_id");
         List<DeptVital> deptVitalList = this.list(deptVitalQueryWrapper);
         List<Long> deptIds = deptVitalList.stream().map(deptVital -> deptVital.getDeptId()).collect(Collectors.toList());
-        if (deptIds.contains(expId)) {
-            deptIds.remove(expId);
-            deptIds.size();
+        return deptIds;
+    }
+
+    /**
+     * 存在性验证
+     *
+     * @param deptId 科室id
+     * @return 科室信息Map
+     */
+    private Map<Long, String> isExist(Long deptId) {
+        ConceptSearchVO conceptSearchVO = new ConceptSearchVO();
+        List<Long> conceptIds = ListUtil.newArrayList();
+        conceptIds.add(deptId);
+        conceptSearchVO.setConceptIds(conceptIds);
+        RespDTO<Map<Long, String>> deptMap = klmServiceClient.getConceptMap(conceptSearchVO);
+        RespDTOUtil.respNGDealCover(deptMap, "科室不存在");
+        if (null == deptMap.data.get(deptId)) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "科室不存在");
         }
-        return getDeptShortList(deptIds);
+        return deptMap.data;
     }
 }

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

@@ -12,5 +12,5 @@ import lombok.Setter;
 @Getter
 @Setter
 public class DeptVitalPageVO extends Page {
-    private String deptName;
+    private Long deptId;
 }

+ 15 - 6
icssman-service/src/main/java/com/diagbot/web/DeptVitalController.java

@@ -34,13 +34,13 @@ import java.util.List;
 @RestController
 @RequestMapping("/deptVital")
 @SuppressWarnings("unchecked")
-@Api(value = "查体模板相关API", tags = { "查体模板相关API" })
+@Api(value = "查体模板相关API", tags = { "知识库标准化-查体模板相关API" })
 public class DeptVitalController {
 
     @Autowired
     private DeptVitalFacade deptVitalFacade;
 
-    @ApiOperation(value = "保存查体模板[by:zhaops]",
+    @ApiOperation(value = "知识库标准化-保存查体模板[by:zhaops]",
             notes = "deptId:科室ID,必填<br>" +
                     "dvDetailVOList:查体标签明细,必填<br>" +
                     "vitalId:查体标签id,必填<br>" +
@@ -76,7 +76,7 @@ public class DeptVitalController {
         return RespDTO.onSuc(data);
     }
 
-    @ApiOperation(value = "根据科室ID获取查体模板[by:zhaops]",
+    @ApiOperation(value = "知识库标准化-根据科室ID获取查体模板[by:zhaops]",
             notes = "deptId:科室ID,必填<br>")
     @PostMapping("/getModuleByDeptId")
     @SysLogger("getModuleByDeptId")
@@ -91,7 +91,7 @@ public class DeptVitalController {
      * @param deptVitalPageVO
      * @return
      */
-    @ApiOperation(value = "分页查询查体模板,可带过滤条件[by:zhaops]",
+    @ApiOperation(value = "知识库标准化-分页查询查体模板,可带过滤条件[by:zhaops]",
             notes = "current:页码,必填<br>" +
                     "size:每页显示条数,必填<br>" +
                     "deptName:科室名称<br>")
@@ -102,7 +102,7 @@ public class DeptVitalController {
         return RespDTO.onSuc(infoIPage);
     }
 
-    @ApiOperation(value = "查询科室下拉列表-新增[by:zhaops]")
+    @ApiOperation(value = "知识库标准化-查询科室下拉列表-新增[by:zhaops]")
     @PostMapping("/getDeptShortList_create")
     @SysLogger("getDeptShortList_create")
     public RespDTO<DeptShortDTO> getDeptShortListCreate() {
@@ -110,7 +110,7 @@ public class DeptVitalController {
         return RespDTO.onSuc(data);
     }
 
-    @ApiOperation(value = "查询科室下拉列表-修改[by:zhaops]",
+    @ApiOperation(value = "知识库标准化-查询科室下拉列表-修改[by:zhaops]",
             notes = "deptId:科室ID,必填<br>")
     @PostMapping("/getDeptShortList_modify")
     @SysLogger("getDeptShortList_modify")
@@ -118,4 +118,13 @@ public class DeptVitalController {
         List<DeptShortDTO> data = deptVitalFacade.getDeptShortLisModify(deptIdVO.getDeptId());
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "知识库标准化-查询科室下拉列表-查询[by:zhaops]",
+            notes = "deptId:科室ID,必填<br>")
+    @PostMapping("/getDeptShortList_Searh")
+    @SysLogger("getDeptShortList_Searh")
+    public RespDTO<DeptShortDTO> getDeptShortListSearch() {
+        List<DeptShortDTO> data = deptVitalFacade.getDeptShortListSearch();
+        return RespDTO.onSuc(data);
+    }
 }

+ 5 - 7
icssman-service/src/main/resources/mapper/DeptVitalMapper.xml

@@ -32,13 +32,11 @@
 
     <!--查询已有模板分页-->
     <select id="getDeptVitalPage" resultMap="DeptVitalDTOMap">
-        SELECT DISTINCT a.*, b.modifier AS operator,b.gmt_modified AS gmt_operate
-        FROM icss_dept_info a,icss_dept_vital b
-        WHERE a.id = b.dept_id
-          AND a.is_deleted = 'N'
-          AND b.is_deleted = 'N'
-          <if test="deptVitalPageVO.deptName!=null and deptVitalPageVO.deptName!=''">
-              AND a.name like CONCAT("%",#{deptVitalPageVO.deptName},"%")
+        SELECT DISTINCT b.dept_id AS deptId, b.modifier AS operator,b.gmt_modified AS gmt_operate
+        FROM icss_dept_vital b
+        WHERE b.is_deleted = 'N'
+          <if test="deptVitalPageVO.deptId != null">
+              AND b.dept_id = #{deptVitalPageVO.deptId}
           </if>
         order by b.gmt_modified desc
     </select>

+ 21 - 5
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -47,6 +47,7 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.service.LibraryInfoService;
 import com.diagbot.service.impl.ConceptServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.Cn2SpellUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.IntegerUtil;
@@ -312,6 +313,10 @@ public class ConceptFacade extends ConceptServiceImpl {
                 throw new CommonException(CommonErrorCode.RPC_ERROR, lineNumStr + "无法输入纯数字或者纯字符,请输入正确数据!");
             }
         }
+        
+        if(addConceptInfoVO.getMaxAge()<addConceptInfoVO.getMinAge()){
+        	throw new CommonException(CommonErrorCode.RPC_ERROR, lineNumStr + "症状发生的最小年龄大于症状发生的最大年龄!");
+        }
 
         if (addConceptInfoVO.getDetailList().stream().distinct().count() != addConceptInfoVO.getDetailList().size()) {
             throw new CommonException(CommonErrorCode.RPC_ERROR, lineNumStr + "存在重复数据!");
@@ -357,6 +362,8 @@ public class ConceptFacade extends ConceptServiceImpl {
             libraryInfoMain.setTypeId(lexicon.getId());
             libraryinfoFacade.save(libraryInfoMain);
             concept.setLibId(libraryInfoMain.getId());
+            concept.setLibName(addConceptInfoDetailVOMain.getName());
+            concept.setLibType(lexicon.getId());
             concept.setGmtCreate(now);
             concept.setCreator(currentUser);
             concept.setId(addConceptInfoVO.getConceptId());
@@ -404,10 +411,7 @@ public class ConceptFacade extends ConceptServiceImpl {
                 continue;
             }
 
-            libraryInfo.setGmtModified(now);
-            libraryInfo.setModifier(currentUser);
             libraryInfo.setName(i.getName());
-            libraryInfo.setIsConcept(0);
             libraryInfo.setRemark(i.getRemark());
             saveOrUpdateLibraryInfoList.add(libraryInfo);
         }
@@ -419,11 +423,16 @@ public class ConceptFacade extends ConceptServiceImpl {
 
         for (LibraryInfo i : saveOrUpdateLibraryInfoList) {
             i.setId(null);
+            i.setSpell(Cn2SpellUtil.converterToFirstSpell(i.getName()));
             i.setConceptId(conceptId);
             i.setTypeId(lexicon.getId());
+            i.setIsConcept(0);
+            i.setGmtModified(now);
+            i.setModifier(currentUser);
         }
         libraryInfoMain.setIsConcept(1);
         libraryInfoMain.setRemark(addConceptInfoDetailVOMain.getRemark());
+        libraryInfoMain.setSpell(Cn2SpellUtil.converterToFirstSpell(libraryInfoMain.getName()));
         libraryInfoMain.setConceptId(conceptId);
         libraryInfoMain.setGmtModified(now);
         libraryInfoMain.setModifier(currentUser);
@@ -433,6 +442,8 @@ public class ConceptFacade extends ConceptServiceImpl {
 
         concept.setId(conceptId);
         concept.setLibId(libraryInfoMain.getId());
+        concept.setLibName(libraryInfoMain.getName());
+        concept.setLibType(libraryInfoMain.getTypeId());
         concept.setGmtModified(now);
         concept.setModifier(currentUser);
         updateById(concept);
@@ -676,8 +687,13 @@ public class ConceptFacade extends ConceptServiceImpl {
      */
     public List<Concept> getListByIds(List<Long> ids) {
         QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
-        conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .in("id", ids);
+        conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        if (ids.size() == 1){
+            conceptQueryWrapper.eq("id", ids.get(0));
+        } else {
+            conceptQueryWrapper.in("id", ids);
+        }
+
         List<Concept> list = this.list(conceptQueryWrapper);
         return list;
     }

+ 8 - 3
knowledgeman-service/src/main/java/com/diagbot/vo/AddConceptInfoVO.java

@@ -5,6 +5,8 @@ import java.util.List;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 
+import org.hibernate.validator.constraints.Range;
+
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -49,19 +51,22 @@ public class AddConceptInfoVO {
      * 性别:1:男, 2:女, 3:通用
      */
 	@ApiModelProperty(value="性别:1:男, 2:女, 3:通用")
-    private Integer sexType = 3;
+	@Range(min=1,max=3,message="性别须是1-3")
+    private Integer sexType=3;
 
     /**
      * 症状发生的最小年龄
      */
 	@ApiModelProperty(value="症状发生的最小年龄")
-    private Integer minAge;
+	@Range(min=0,max=200,message="年龄须是0-200")
+    private Integer minAge=0;
 
     /**
      * 症状发生的最大年龄
      */
 	@ApiModelProperty(value="症状发生的最大年龄")
-    private Integer maxAge;
+	@Range(min=0,max=200,message="年龄须是0-200")
+    private Integer maxAge=200;
 	
 	private Integer lineNum;