Ver código fonte

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

gaodm 6 anos atrás
pai
commit
cce6d3ad4f

+ 2 - 1
aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java

@@ -152,7 +152,8 @@ public class ClinicalFacade {
     public GdbResponse highRiskPageData(SearchVo searchVo) {
         Response<GdbResponse> response = aiServiceClient.highRiskPageData(searchVo);
         if (response == null || response.getData() == null) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "高危没有返回结果");
+            return null;
+            //throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "高危没有返回结果");
         }
         return response.getData();
     }

+ 14 - 11
aipt-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -16,6 +16,7 @@ import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.util.EntityUtil;
 import com.diagbot.util.FastJsonUtils;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.ParamConvertUtil;
@@ -118,9 +119,9 @@ public class PushFacade {
                 //警惕
                 Map<String, String> highRiskMap = new HashMap<>();
                 highRiskMap.put("disease", String.join(",", nameList));
-                SearchData searchData = new SearchData();
-                searchData.setDiag(String.join(",", nameList));
-                GdbResponse graphRes = clinicalFacade.highRiskPageData(searchVo);
+                SearchVo hrSearchVo = new SearchVo();
+                hrSearchVo.setDiag(String.join(",", nameList));
+                GdbResponse graphRes = clinicalFacade.highRiskPageData(hrSearchVo);
                 if (graphRes != null) {
                     Map<String, String> graphResult = graphRes.getResult();
                     if (graphResult.size() > 0) {
@@ -185,9 +186,9 @@ public class PushFacade {
                                     conceptBaseVO.setLibType(LexiconTypeEnum.GAUGE.getKey());
                                     Concept scaleConcept = conceptFacade.getConcept(conceptBaseVO);
                                     if (scaleConcept != null) {
-                                        scaleJson.put("id", scaleConcept.getId());
+                                        scaleJson.put("conceptId", scaleConcept.getId());
                                     } else {
-                                        scaleJson.put("id", null);
+                                        scaleJson.put("conceptId", null);
                                     }
                                     detail.setContent(scaleJson);
                                 }
@@ -246,15 +247,17 @@ public class PushFacade {
      */
     public List<ConceptPushDTO> getConceptDTOList(List<String> nameList, Integer libType) {
         List<Concept> concepts = conceptFacade.getListByNamesAndType(nameList, libType);
+        Map<String, Concept> conceptMap = EntityUtil.makeEntityMap(concepts, "libName");
         List<ConceptPushDTO> conceptDTOS = Lists.newLinkedList();
-        if (ListUtil.isNotEmpty(concepts)) {
-            for (Concept concept : concepts) {
-                ConceptPushDTO conceptDTO = new ConceptPushDTO();
+        for (String name : nameList) {
+            ConceptPushDTO conceptDTO = new ConceptPushDTO();
+            conceptDTO.setName(name);
+            conceptDTO.setLibType(ParamConvertUtil.libConvert2Concept(libType));
+            if (conceptMap.containsKey(name) && conceptMap.get(name) != null) {
+                Concept concept = conceptMap.get(name);
                 conceptDTO.setConceptId(concept.getId());
-                conceptDTO.setName(concept.getLibName());
-                conceptDTO.setLibType(ParamConvertUtil.libConvert2Concept(libType));
-                conceptDTOS.add(conceptDTO);
             }
+            conceptDTOS.add(conceptDTO);
         }
         return conceptDTOS;
     }

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

@@ -198,11 +198,13 @@ public class PushFacade {
                         lisMap = respDTO.data;
                     }
                 }
-                for (Map.Entry<String, Long> entry : lisMap.entrySet()) {
+                for (String name : nameList) {
                     ConceptPushDTO conceptPushDTO = new ConceptPushDTO();
-                    conceptPushDTO.setConceptId(entry.getValue());
-                    conceptPushDTO.setName(entry.getKey());
+                    conceptPushDTO.setName(name);
                     conceptPushDTO.setLibType(ConceptTypeEnum.Lis.getKey());
+                    if (lisMap.containsKey(name) && lisMap.get(name) != null) {
+                        conceptPushDTO.setConceptId(lisMap.get(name));
+                    }
                     lisDTO.add(conceptPushDTO);
                 }
                 if (ListUtil.isNotEmpty(lisDTO)) {
@@ -323,7 +325,7 @@ public class PushFacade {
                 orderByAsc("order_no");
         List<DeptVital> deptVitalList = deptVitalFacade.list(deptVitalQueryWrapper);
         //科室模板为空时,取全科模板
-        if (deptVitalList.size() == 0) {
+        if (deptVitalList.size() == 0 && dept.getName().equals("全科") == false) {
             ConceptBaseVO conceptBaseVO = new ConceptBaseVO();
             conceptBaseVO.setName("全科");
             conceptBaseVO.setLibType(ConceptTypeEnum.DEPARTMENT.getKey());

+ 29 - 2
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -463,7 +463,7 @@ public class ConceptFacade extends ConceptServiceImpl {
 
         return true;
     }
-
+    
     /**
      * 医学术语命名excel文件导入
      *
@@ -494,8 +494,9 @@ public class ConceptFacade extends ConceptServiceImpl {
 
                             Sheet sheet = wb.getSheetAt(0);
                             int count = 0;
-                            String libName, libType, otherNames, remark;
+                            String libName, libType, otherNames, remark,sexType,minAge,maxAge;
                             String regEx = "[0-9]+|[`~·!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]+";
+                            String regExAge = "[0-9]|[1-9][0-9]|1[0-9]{2}|200";
                             for (Row row : sheet) {
                                 count++;
                                 if (row == null) {
@@ -512,6 +513,9 @@ public class ConceptFacade extends ConceptServiceImpl {
                                 libType = getValue(row.getCell(1)).trim().replace(" ", "");
                                 otherNames = getValue(row.getCell(2)).trim().replace(" ", "");
                                 remark = getValue(row.getCell(3)).trim().replace(" ", "");
+                                sexType = getValue(row.getCell(4)).trim().replace(" ", "");
+                                minAge = getValue(row.getCell(5)).trim().replace(" ", "");
+                                maxAge = getValue(row.getCell(6)).trim().replace(" ", "");
                                 if (StringUtil.isEmpty(libName) && StringUtil.isEmpty(libType)
                                         && StringUtil.isEmpty(otherNames) && StringUtil.isEmpty(remark)) {
                                     continue;
@@ -524,11 +528,34 @@ public class ConceptFacade extends ConceptServiceImpl {
                                     sbf.append("第" + count + "行导入错误,说明最大可输入120个字;").append("<br/>");
                                     continue;
                                 }
+                                if(StringUtil.isNotEmpty(sexType)&&!sexType.matches("男|女|通用")){
+                                	sbf.append("第" + count + "行导入错误,性别须是男、女或者通用;").append("<br/>");
+                                }
+                                if((StringUtil.isNotEmpty(minAge)&&!minAge.matches(regExAge))
+                                		||(StringUtil.isNotEmpty(maxAge)&&!maxAge.matches(regExAge))){
+                                	 sbf.append("第" + count + "行导入错误,年龄须是0-200;").append("<br/>");
+                                     continue;
+                                }
+                                if(StringUtil.isNotEmpty(minAge)
+                                		&&StringUtil.isNotEmpty(maxAge)
+                                		&&Integer.parseInt(minAge)>Integer.parseInt(maxAge)){
+                                	sbf.append("第" + count + "行导入错误,症状发生的最小年龄大于症状发生的最大年龄;").append("<br/>");
+                                    continue;
+                                }
 
                                 AddConceptInfoVO addConceptInfoVO = new AddConceptInfoVO();
                                 addConceptInfoVO.setLineNum(count);
                                 addConceptInfoVO.setName(libName);
                                 addConceptInfoVO.setType(libType);
+                                addConceptInfoVO.setMinAge(Integer.parseInt(minAge));
+                                addConceptInfoVO.setMaxAge(Integer.parseInt(maxAge));
+                                if(sexType.equals("男")){
+                                	addConceptInfoVO.setSexType(1);
+                                }else if(sexType.equals("女")){
+                                	addConceptInfoVO.setSexType(2);
+                                }else{
+                                	addConceptInfoVO.setSexType(3);
+                                }
                                 List<AddConceptInfoDetailVO> detailList = new ArrayList<>();
                                 for (String nm : otherNames.split(",")) {
                                     if (StringUtil.isBlank(nm)) {