Преглед на файлове

Merge branch 'master' into innerDevelop

zhoutg преди 4 години
родител
ревизия
6cdc6565e4
променени са 1 файла, в които са добавени 25 реда и са изтрити 9 реда
  1. 25 9
      src/main/java/com/diagbot/repository/PacsCriticalNode.java

+ 25 - 9
src/main/java/com/diagbot/repository/PacsCriticalNode.java

@@ -20,31 +20,47 @@ public class PacsCriticalNode {
 		Integer agemin, agemax;
 
 		List<CriticalNeoDTO> criticallist = new ArrayList<>();
-		CriticalNeoDTO criticalNeoDTO;
+		CriticalNeoDTO criticalNeoDTO = new CriticalNeoDTO();
 
 		Integer gender = criticalNeoVO.getSex();
 		Double age = criticalNeoVO.getAge();
 		List<Item> pacsres = criticalNeoVO.getPacsLabel().getRes();
 
 		try {
-			for (Item item : pacsres) {
+			List<String> rules = new ArrayList<>();
+			List<String> removelt = new ArrayList<>();
 
+			for (Item item : pacsres) {
 				String name = item.getUniqueName();
-
 				if (StringUtil.isNotBlank(name)) {
 					List<PacsCritical> pacslist = pacsCriticalRepository.findByResult(name);
 
 					for (PacsCritical pacscri : pacslist) {
-						criticalNeoDTO = new CriticalNeoDTO();
-						result = pacscri.getVal();
-						criticalNeoDTO.setName(result);
-						criticalNeoDTO.setStandname(result);
-						criticalNeoDTO.setType(Constants.fujian);
+						rules.add(pacscri.getVal());
+					}
+				}
+			}
 
-						criticallist.add(criticalNeoDTO);
+			// 结果留下最完整的记录,移除完全包含的内容,
+			// 例如:右下叶后基底段支气管异物,支气管异物,气管异物,只留下“右下叶后基底段支气管异物”
+			for (String x : rules) {
+				for (String y : rules) {
+					if (!y.equals(x) && y.contains(x)) {
+						removelt.add(x);
 					}
 				}
 			}
+			for (String rule : rules) {
+				if (!removelt.contains(rule)) {
+					criticalNeoDTO = new CriticalNeoDTO();
+					criticalNeoDTO.setName(rule);
+					criticalNeoDTO.setStandname(rule);
+					criticalNeoDTO.setType(Constants.fujian);
+
+					criticallist.add(criticalNeoDTO);
+				}
+			}
+
 		} catch (Exception ex) {
 			ex.printStackTrace();
 		}