|
@@ -4,11 +4,14 @@ import com.diagbot.dto.CriticalNeoDTO;
|
|
|
import com.diagbot.dto.IndicationDTO;
|
|
|
import com.diagbot.dto.WordCrfDTO;
|
|
|
import com.diagbot.process.CriticalProcess;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.vo.CriticalNeoVO;
|
|
|
import com.diagbot.vo.IndicationPushVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Iterator;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -34,8 +37,21 @@ public class CriticalFacade {
|
|
|
CriticalNeoVO criticalNeoVOs = fillCriticalNeo(wordCrfDTO);
|
|
|
List<CriticalNeoDTO> criticalNeoDTOList = neoFacade.getCritialNeo(criticalNeoVOs);
|
|
|
|
|
|
- // 规则处理
|
|
|
- criticalProcess.process(criticalNeoDTOList, wordCrfDTO, res);
|
|
|
+ // 危急值去重,否则结果出现重复数据
|
|
|
+ if (ListUtil.isNotEmpty(criticalNeoDTOList)) {
|
|
|
+ List<String> standNameList = new ArrayList<>();
|
|
|
+ Iterator<CriticalNeoDTO> it = criticalNeoDTOList.iterator();
|
|
|
+ while (it.hasNext()) {
|
|
|
+ CriticalNeoDTO criticalNeoDTO = it.next();
|
|
|
+ if (standNameList.contains(criticalNeoDTO.getStandname())) {
|
|
|
+ it.remove();
|
|
|
+ } else {
|
|
|
+ standNameList.add(criticalNeoDTO.getStandname());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 规则处理
|
|
|
+ criticalProcess.process(criticalNeoDTOList, wordCrfDTO, res);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|