|
@@ -1,13 +1,19 @@
|
|
package com.diagbot.rule;
|
|
package com.diagbot.rule;
|
|
|
|
|
|
import com.diagbot.dto.BillMsg;
|
|
import com.diagbot.dto.BillMsg;
|
|
|
|
+import com.diagbot.dto.NodeNeoDTO;
|
|
import com.diagbot.model.entity.Negative;
|
|
import com.diagbot.model.entity.Negative;
|
|
import com.diagbot.util.CoreUtil;
|
|
import com.diagbot.util.CoreUtil;
|
|
import com.diagbot.util.ListUtil;
|
|
import com.diagbot.util.ListUtil;
|
|
|
|
+import com.diagbot.util.StringUtil;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.neo4j.ogm.annotation.NodeEntity;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @description: 实验室检查和辅助检查规则
|
|
* @description: 实验室检查和辅助检查规则
|
|
@@ -22,22 +28,24 @@ public class DiagRule {
|
|
* @param inputLises
|
|
* @param inputLises
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public static <T> BillMsg compareDiseaseWithBill(List<String> drugLises, List<T> inputLises, String name) {
|
|
|
|
- List<String> reports = new ArrayList<>();
|
|
|
|
- if(inputLises != null && ListUtil.isNotEmpty(inputLises)){
|
|
|
|
|
|
+ public static <T> BillMsg compareDiseaseWithBill(List<NodeNeoDTO> drugLises, List<T> inputLises, String name) {
|
|
|
|
+ Map<String,String> old_stand = new HashMap<>();
|
|
|
|
+ if(ListUtil.isNotEmpty(drugLises) && ListUtil.isNotEmpty(inputLises)){
|
|
|
|
+ List<String> dl = drugLises.stream().map(x -> x.getName()).collect(Collectors.toList());
|
|
for (T d:inputLises) {
|
|
for (T d:inputLises) {
|
|
Negative val = (Negative)CoreUtil.getFieldValue(d, "negative");
|
|
Negative val = (Negative)CoreUtil.getFieldValue(d, "negative");
|
|
if(val == null){
|
|
if(val == null){
|
|
String c = (String) CoreUtil.getFieldValue(d, "standName");
|
|
String c = (String) CoreUtil.getFieldValue(d, "standName");
|
|
String c_name = (String) CoreUtil.getFieldValue(d, "name");
|
|
String c_name = (String) CoreUtil.getFieldValue(d, "name");
|
|
- if(StringUtils.isNotBlank(c) && drugLises.contains(c)){
|
|
|
|
- reports.add(c_name);
|
|
|
|
|
|
+ if(StringUtils.isNotBlank(c) && dl.contains(c)){
|
|
|
|
+ old_stand.put(c_name,c);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(ListUtil.isNotEmpty(reports)){
|
|
|
|
- String message = CoreUtil.listConvertString(reports);
|
|
|
|
- BillMsg commonBillMsg = CoreUtil.getCommonBillMsg(message, name);
|
|
|
|
|
|
+ if(old_stand.size() > 0){
|
|
|
|
+ String message = StringUtils.join(old_stand.keySet(), ",");
|
|
|
|
+ String standNames = StringUtils.join(old_stand.values().stream().collect(Collectors.toList()),",");
|
|
|
|
+ BillMsg commonBillMsg = CoreUtil.getCommonBillMsg(message, name,standNames);
|
|
return commonBillMsg;
|
|
return commonBillMsg;
|
|
}
|
|
}
|
|
}
|
|
}
|