ソースを参照

Merge remote-tracking branch 'origin/master'

MarkHuang 4 年 前
コミット
2808fd8c15

+ 53 - 49
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -138,7 +138,7 @@ public class CommonFacade {
                 StringUtils.isBlank(x.getUniqueName()))
                 .map(x -> x.getName()).collect(Collectors.toList()));
         //选中的诊断
-        if(wordCrfDTO.getDiseaseName() != null && StringUtils.isBlank(wordCrfDTO.getDiseaseName().getUniqueName())){
+        if (wordCrfDTO.getDiseaseName() != null && StringUtils.isBlank(wordCrfDTO.getDiseaseName().getUniqueName())) {
             diagList.add(wordCrfDTO.getDiseaseName().getName());
         }
         standConvert.setDiaglList(diagList);
@@ -149,8 +149,8 @@ public class CommonFacade {
         List<Lis> lis = wordCrfDTO.getLis();
         if (ListUtil.isNotEmpty(lis)) {
             List<String> lis_unique = lis.stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
-//                    .map(x -> x.getName() + x.getDetailName()).collect(Collectors.toList());
-                    .map(x ->x.getDetailName()).collect(Collectors.toList());
+                    //                    .map(x -> x.getName() + x.getDetailName()).collect(Collectors.toList());
+                    .map(x -> x.getDetailName()).collect(Collectors.toList());
             allLis.addAll(lis_unique);
         }
         //开单化验——取套餐
@@ -189,10 +189,10 @@ public class CommonFacade {
         //2、既往史(药物过敏)
         drugList.addAll(CoreUtil.getPropertyList(pastLabel.getAllergyMedicines()));
         //3、开单药品
-        drugList.addAll(wordCrfDTO.getDrugOrder().stream().filter(z ->StringUtils.isBlank(z.getUniqueName())).map(x ->x.getName()).collect(Collectors.toList()));
+        drugList.addAll(wordCrfDTO.getDrugOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
         standConvert.setDrugList(drugList);
         //4、医嘱药品
-        drugList.addAll(wordCrfDTO.getDrug().stream().filter(z ->StringUtils.isBlank(z.getUniqueName())).map(x ->x.getName()).collect(Collectors.toList()));
+        drugList.addAll(wordCrfDTO.getDrug().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
         standConvert.setDrugList(drugList);
 
         //所有手术(现病史、既往史)
@@ -202,12 +202,12 @@ public class CommonFacade {
         //2、既往史中的手术
         operationList.addAll(CoreUtil.getPropertyList(pastLabel.getOperations()));
         //3.开单手术
-        operationList.addAll(wordCrfDTO.getOperationOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x ->x.getName()).collect(Collectors.toList()));
+        operationList.addAll(wordCrfDTO.getOperationOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
         standConvert.setOperationList(operationList);
         //4.手术及操作
-        operationList.addAll(wordCrfDTO.getOperation().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x ->x.getName()).collect(Collectors.toList()));
+        operationList.addAll(wordCrfDTO.getOperation().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
         //5.选中的诊断
-        if(wordCrfDTO.getOperationName() != null && StringUtils.isBlank(wordCrfDTO.getOperationName().getUniqueName())){
+        if (wordCrfDTO.getOperationName() != null && StringUtils.isBlank(wordCrfDTO.getOperationName().getUniqueName())) {
             operationList.add(wordCrfDTO.getOperationName().getName());
         }
         standConvert.setOperationList(operationList);
@@ -243,17 +243,17 @@ public class CommonFacade {
         CoreUtil.setPropertyList(presentLabel.getClinicals(), map.get(StandConvertEnum.symptom.toString()));
         //诊断回填
         CoreUtil.setPropertyList(diagLabel.getDiags(), map.get(StandConvertEnum.disease.toString()));
-        CoreUtil.setPropertyList(wordCrfDTO.getDiagOrder(),"name", "uniqueName", map.get(StandConvertEnum.disease.toString()));
-        CoreUtil.setPropertyList(wordCrfDTO.getDiag(),"name", "uniqueName", map.get(StandConvertEnum.disease.toString()));
-        CoreUtil.setPropertyList(wordCrfDTO.getDiseaseName(),"name", "uniqueName", map.get(StandConvertEnum.disease.toString()));
+        CoreUtil.setPropertyList(wordCrfDTO.getDiagOrder(), "name", "uniqueName", map.get(StandConvertEnum.disease.toString()));
+        CoreUtil.setPropertyList(wordCrfDTO.getDiag(), "name", "uniqueName", map.get(StandConvertEnum.disease.toString()));
+        CoreUtil.setPropertyList(wordCrfDTO.getDiseaseName(), "name", "uniqueName", map.get(StandConvertEnum.disease.toString()));
         //药品回填
         CoreUtil.setPropertyList(presentLabel.getMedicines(), map.get(StandConvertEnum.drug.toString()));
         CoreUtil.setPropertyList(presentLabel.getTakeMedicine(), map.get(StandConvertEnum.drug.toString()));
         CoreUtil.setPropertyList(pastLabel.getAllergyMedicines(), map.get(StandConvertEnum.drug.toString()));
-        CoreUtil.setPropertyList(wordCrfDTO.getDrugOrder(),"name", "uniqueName", map.get(StandConvertEnum.drug.toString()));
-        CoreUtil.setPropertyList(wordCrfDTO.getDrug(),"name", "uniqueName", map.get(StandConvertEnum.drug.toString()));
+        CoreUtil.setPropertyList(wordCrfDTO.getDrugOrder(), "name", "uniqueName", map.get(StandConvertEnum.drug.toString()));
+        CoreUtil.setPropertyList(wordCrfDTO.getDrug(), "name", "uniqueName", map.get(StandConvertEnum.drug.toString()));
         //化验回填
-        CoreUtil.setPropertyList(lis,"detailName", "uniqueName", map.get(StandConvertEnum.lis.toString()));
+        CoreUtil.setPropertyList(lis, "detailName", "uniqueName", map.get(StandConvertEnum.lis.toString()));
         CoreUtil.setPropertyList(wordCrfDTO.getLisOrder(), "name", "uniqueName", map.get(StandConvertEnum.lis.toString()));
         //辅助检查回填
         CoreUtil.setPropertyList(pacsList, "name", "uniqueName", map.get(StandConvertEnum.pacs.toString()));
@@ -265,11 +265,11 @@ public class CommonFacade {
         //手术回填
         CoreUtil.setPropertyList(presentLabel.getOperations(), map.get(StandConvertEnum.operation.toString()));
         CoreUtil.setPropertyList(pastLabel.getOperations(), map.get(StandConvertEnum.operation.toString()));
-        CoreUtil.setPropertyList(wordCrfDTO.getOperationOrder(), "name", "uniqueName",map.get(StandConvertEnum.operation.toString()));
-        CoreUtil.setPropertyList(wordCrfDTO.getOperation(), "name", "uniqueName",map.get(StandConvertEnum.operation.toString()));
-        CoreUtil.setPropertyList(wordCrfDTO.getOperationName(), "name", "uniqueName",map.get(StandConvertEnum.operation.toString()));
+        CoreUtil.setPropertyList(wordCrfDTO.getOperationOrder(), "name", "uniqueName", map.get(StandConvertEnum.operation.toString()));
+        CoreUtil.setPropertyList(wordCrfDTO.getOperation(), "name", "uniqueName", map.get(StandConvertEnum.operation.toString()));
+        CoreUtil.setPropertyList(wordCrfDTO.getOperationName(), "name", "uniqueName", map.get(StandConvertEnum.operation.toString()));
         //输血回填
-        CoreUtil.setPropertyList(wordCrfDTO.getTransfusionOrder(), "name", "uniqueName",map.get(StandConvertEnum.transfusion.toString()));
+        CoreUtil.setPropertyList(wordCrfDTO.getTransfusionOrder(), "name", "uniqueName", map.get(StandConvertEnum.transfusion.toString()));
     }
 
     /**
@@ -283,7 +283,7 @@ public class CommonFacade {
         Item diseaseName = wordCrfDTO.getDiseaseName();
         PastLabel pastLabel = wordCrfDTO.getPastLabel();
         List<Lis> lis = wordCrfDTO.getLis();
-//        List<Pacs> pacs = wordCrfDTO.getPacs();
+        //        List<Pacs> pacs = wordCrfDTO.getPacs();
         // TODO 辅检
         PacsLabel pacsLabel = wordCrfDTO.getPacsLabel();
         // List<PacsNew> pacsNewList = wordCrfDTO.getPacsLabel().getPacsNewList();
@@ -293,7 +293,7 @@ public class CommonFacade {
         pushVO.setDiaeaseName(diseaseName);
         if (chiefLabel != null) {
             ChiefPushVo chiefPushVo = new ChiefPushVo();
-            if(ListUtil.isNotEmpty(chiefLabel.getClinicals())){
+            if (ListUtil.isNotEmpty(chiefLabel.getClinicals())) {
                 List<Symptom> cjiefClinicals = chiefLabel.getClinicals().stream().filter(x -> x.getNegative() == null).map(z ->
                 {
                     Symptom symptom = new Symptom();
@@ -305,23 +305,23 @@ public class CommonFacade {
 
                 }
             }
-            if(ListUtil.isNotEmpty(chiefLabel.getDiags())){
+            if (ListUtil.isNotEmpty(chiefLabel.getDiags())) {
                 List<Diag> chief_diags = chiefLabel.getDiags().stream().map(x ->
                 {
-                  Diag diag = new Diag();
-                  diag.setName(x.getStandName());
-                  return diag;
+                    Diag diag = new Diag();
+                    diag.setName(x.getStandName());
+                    return diag;
                 }).collect(Collectors.toList());
                 chiefPushVo.setDiags(chief_diags);
             }
-            if(ListUtil.isNotEmpty(chiefLabel.getPds())){
+            if (ListUtil.isNotEmpty(chiefLabel.getPds())) {
                 chiefPushVo.setPds(chiefLabel.getPds());
             }
             pushVO.setChiefPushVo(chiefPushVo);
         }
-        if(presentLabel != null){
+        if (presentLabel != null) {
             PresentPushVo presentPushVo = new PresentPushVo();
-            if(ListUtil.isNotEmpty(presentLabel.getClinicals())){
+            if (ListUtil.isNotEmpty(presentLabel.getClinicals())) {
                 List<Symptom> presentClinicals = presentLabel.getClinicals().stream().filter(x -> x.getNegative() == null).map(z ->
                 {
                     Symptom symptom = new Symptom();
@@ -330,7 +330,7 @@ public class CommonFacade {
                 }).collect(Collectors.toList());
                 presentPushVo.setSymptoms(presentClinicals);
             }
-            if(ListUtil.isNotEmpty(presentLabel.getDiags())){
+            if (ListUtil.isNotEmpty(presentLabel.getDiags())) {
                 List<Diag> presentdiags = presentLabel.getDiags().stream().filter(x -> x.getNegative() == null).map
                         (x -> x.getStandName()).distinct().map(z ->
                 {
@@ -340,7 +340,7 @@ public class CommonFacade {
                 }).collect(Collectors.toList());
                 presentPushVo.setDiags(presentdiags);
             }
-            if(ListUtil.isNotEmpty(presentLabel.getMedicines())){
+            if (ListUtil.isNotEmpty(presentLabel.getMedicines())) {
                 List<Drug> presentdrugs = presentLabel.getMedicines().stream().filter(x -> x.getNegative() == null).map(z ->
                 {
                     Drug drug = new Drug();
@@ -351,18 +351,18 @@ public class CommonFacade {
             }
             pushVO.setPresentPushVo(presentPushVo);
         }
-        if(ListUtil.isNotEmpty(lis)){
+        if (ListUtil.isNotEmpty(lis)) {
             LisPushVo lisPushVo = new LisPushVo();
             lisPushVo.setLises(lis);
             pushVO.setLisPushVo(lisPushVo);
         }
         // TODO 辅检
-        if(pacsLabel != null){
+        if (pacsLabel != null) {
             PacsPushVo pacsPushVo = new PacsPushVo();
             pacsPushVo.setPacs(pacsLabel.getRes());
             pushVO.setPacsPushVo(pacsPushVo);
         }
-        if(ListUtil.isNotEmpty(diags)){
+        if (ListUtil.isNotEmpty(diags)) {
             DiagVo diagVo = new DiagVo();
             List<Diag> diseases = diags.stream().map(x -> {
                 Diag diag = new Diag();
@@ -381,7 +381,7 @@ public class CommonFacade {
      *
      * @param wordCrfDTO
      */
-    public void processPresentVital(WordCrfDTO wordCrfDTO){
+    public void processPresentVital(WordCrfDTO wordCrfDTO) {
         PresentLabel presentLabel = wordCrfDTO.getPresentLabel();
         VitalLabel vitalLabel = wordCrfDTO.getVitalLabel();
         if (ListUtil.isNotEmpty(presentLabel.getVitals())) {
@@ -392,11 +392,11 @@ public class CommonFacade {
         }
     }
 
-    public void processPresentLisPacs(WordCrfDTO wordCrfDTO){
+    public void processPresentLisPacs(WordCrfDTO wordCrfDTO) {
         DiagLabel diagLabel = wordCrfDTO.getDiagLabel();
         List<com.diagbot.model.entity.Diag> diags = diagLabel.getDiags();
-        if(ListUtil.isNotEmpty(diags)){
-            wordCrfDTO.getDiag().addAll(diags.stream().filter(x ->x.getStandName()!= null).map(x ->{
+        if (ListUtil.isNotEmpty(diags)) {
+            wordCrfDTO.getDiag().addAll(diags.stream().filter(x -> x.getStandName() != null).map(x -> {
                 Item i = new Item();
                 i.setName(x.getName());
                 i.setUniqueName(x.getStandName());
@@ -406,36 +406,36 @@ public class CommonFacade {
         PresentLabel presentLabel = wordCrfDTO.getPresentLabel();
         List<com.diagbot.model.entity.Lis> lises = presentLabel.getLises();
         List<Lis> lisList = new ArrayList<>();
-        if(ListUtil.isNotEmpty(lises)){
+        if (ListUtil.isNotEmpty(lises)) {
             List<String> lisNames = lises.stream().map(x -> x.getBigItem().getName()).distinct().collect(Collectors.toList());
             Map<String, Map<String, Map<String, Long>>> configMap = lisConfigFacade.getConfigMap(wordCrfDTO.getHospitalId(), lisNames, null);
-            if(configMap.size() > 0){
-                lises.stream().forEach(x ->{
+            if (configMap.size() > 0) {
+                lises.stream().forEach(x -> {
                     String bigName = x.getBigItem().getName();//大项名
                     String detailName = x.getName();//小项名
                     String value = x.getPd().getValue();
                     String unit = x.getPd().getUnit();
-                    if(configMap.containsKey(bigName)){
+                    if (configMap.containsKey(bigName)) {
                         Map<String, Map<String, Long>> uniqueDetailMap = configMap.get(bigName);
-                        if(uniqueDetailMap.containsKey(detailName)){
+                        if (uniqueDetailMap.containsKey(detailName)) {
                             List<String> uniques = uniqueDetailMap.get(detailName).keySet().stream().collect(Collectors.toList());//所有的公表项
-                            if(ListUtil.isNotEmpty(uniques)){
+                            if (ListUtil.isNotEmpty(uniques)) {
                                 List<Lis> lisStream = uniques.stream().map(z -> {
                                     return getLis(bigName, detailName, value, unit, z);
                                 }).collect(Collectors.toList());
                                 lisList.addAll(lisStream);
                             }
-                        }else {
+                        } else {
                             Lis lis = getLis(bigName, detailName, value, unit, null);
                             lisList.add(lis);
                         }
-                    }else {
+                    } else {
                         Lis lis = getLis(bigName, detailName, value, unit, null);
                         lisList.add(lis);
                     }
                 });
-            }else {
-                lises.stream().forEach(x ->{
+            } else {
+                lises.stream().forEach(x -> {
                     Lis lis = getLis(x.getBigItem().getName(), x.getName(), x.getPd().getValue(), x.getPd().getUnit(), null);
                     lisList.add(lis);
                 });
@@ -566,9 +566,13 @@ public class CommonFacade {
     private Lis getLis(String bigName, String detailName, String value, String unit, String uniqueName) {
         Lis lis = new Lis();
         lis.setUnits(unit);
-        if(StringUtils.isBlank(unit)){
-            lis.setOtherValue(value);
-        }else {
+        if (StringUtils.isBlank(unit)) {
+             if (CoreUtil.isNumbers(value)) {
+                 lis.setValue(Double.parseDouble(value));
+             } else {
+                 lis.setOtherValue(value);
+             }
+        } else {
             lis.setValue(Double.parseDouble(value));
         }
         lis.setDetailName(detailName);

+ 4 - 6
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -9,7 +9,6 @@ import com.diagbot.dto.*;
 import com.diagbot.entity.DiseaseInfo;
 import com.diagbot.entity.DiseaseProperty;
 import com.diagbot.entity.node.LisRemind;
-import com.diagbot.entity.node.YiBaoDiseaseName;
 import com.diagbot.entity.relationship.LisRemindMedicine;
 import com.diagbot.entity.relationship.LisRemindYiBaoDiseaseName;
 import com.diagbot.enums.RedisEnum;
@@ -836,10 +835,9 @@ public class NeoFacade {
      */
     public NeoPushDTO getDiagInfo(NeoPushVO neoPushVO) {
         NeoPushDTO pushDTO = new NeoPushDTO();
-        YiBaoDiseaseNode icdDiseaseNode = new YiBaoDiseaseNode();
-        String term;
-        term = neoPushVO.getDiagVo().getDiags().get(0).getName();
-        List<YiBaoDiseaseName> yiBaoName = yiBaoDiseaseRepository.findByNameIs(term);
+//        YiBaoDiseaseNode icdDiseaseNode = new YiBaoDiseaseNode();
+        String term = neoPushVO.getDiagVo().getDiags().get(0).getName();
+        /*List<YiBaoDiseaseName> yiBaoName = yiBaoDiseaseRepository.findByNameIs(term);
 
         YiBaoDiseaseName icdDisease = null;
         if (ListUtil.isNotEmpty(yiBaoName)) {
@@ -848,7 +846,7 @@ public class NeoFacade {
         if (icdDisease != null) {
             icdDisease = NeoUtil.extract_node(icdDisease);
             pushDTO = icdDiseaseNode.YiBaoDiseasetoDiseaseDTO(icdDisease, neoPushVO);
-        }
+        }*/
         pushDTO = this.reverseInfo(term);
 
         return pushDTO;

+ 15 - 2
src/main/java/com/diagbot/util/CoreUtil.java

@@ -701,6 +701,18 @@ public class CoreUtil {
         return str.matches(regex);
     }
 
+    /**
+     * 判断字符串是否 仅 包含数字
+     *
+     * @param str
+     * @return
+     */
+    public static boolean isNumbers(String str) {
+        String regex = "^[0-9]*(\\.?)[0-9]*$";
+        return str.matches(regex);
+    }
+
+
     /**
      * 判断年龄字符串:xx月
      *
@@ -748,7 +760,8 @@ public class CoreUtil {
     }
 
     public static void main(String[] args) {
-        String ageStr = "3月";
-        System.out.println(convertAge(ageStr));
+        String ageStr = ".545458";
+        System.out.println(Double.parseDouble(ageStr));
+        System.out.println(isNumbers(ageStr));
     }
 }