|
@@ -6,8 +6,24 @@ import com.diagbot.biz.push.entity.Item;
|
|
|
import com.diagbot.biz.push.entity.Lis;
|
|
|
import com.diagbot.client.ChiefPresentSimilarityServiceClient;
|
|
|
import com.diagbot.client.StandConvertServiceClient;
|
|
|
-import com.diagbot.dto.*;
|
|
|
-import com.diagbot.entity.*;
|
|
|
+import com.diagbot.dto.BillNeoDTO;
|
|
|
+import com.diagbot.dto.CriticalNeoDTO;
|
|
|
+import com.diagbot.dto.HighRiskNeoDTO;
|
|
|
+import com.diagbot.dto.NeoPushDTO;
|
|
|
+import com.diagbot.dto.NodeNeoDTO;
|
|
|
+import com.diagbot.dto.OtherTipNeoDTO;
|
|
|
+import com.diagbot.dto.OtherTipPacsNeoDTO;
|
|
|
+import com.diagbot.dto.OtherTipTransfusionNeoDTO;
|
|
|
+import com.diagbot.dto.RuleDTO;
|
|
|
+import com.diagbot.dto.StandConvertCrfBatchDTO;
|
|
|
+import com.diagbot.dto.StandConvertCrfDTO;
|
|
|
+import com.diagbot.dto.WordCrfDTO;
|
|
|
+import com.diagbot.entity.DiseaseInfo;
|
|
|
+import com.diagbot.entity.DiseaseProperty;
|
|
|
+import com.diagbot.entity.KlDiseaseCorresponding;
|
|
|
+import com.diagbot.entity.SymptomFeature;
|
|
|
+import com.diagbot.entity.SymptomNumOfDiS;
|
|
|
+import com.diagbot.entity.TranHospitalFilter;
|
|
|
import com.diagbot.entity.node.LisRemind;
|
|
|
import com.diagbot.entity.relationship.LisRemindGroup;
|
|
|
import com.diagbot.entity.relationship.LisRemindMedicine;
|
|
@@ -18,7 +34,6 @@ import com.diagbot.enums.StandConvertEnum;
|
|
|
import com.diagbot.enums.StaticTypeEnum;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
|
-import com.diagbot.mapper.KlDiseaseCorrespondingMapper;
|
|
|
import com.diagbot.mapper.SymptomFeatureMapper;
|
|
|
import com.diagbot.mapper.TranHospitalFilterMapper;
|
|
|
import com.diagbot.model.entity.PD;
|
|
@@ -28,9 +43,18 @@ import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.NeoUtil;
|
|
|
import com.diagbot.util.RedisUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
+import com.diagbot.vo.BillNeoVO;
|
|
|
+import com.diagbot.vo.CriticalNeoVO;
|
|
|
import com.diagbot.vo.Drug;
|
|
|
-import com.diagbot.vo.*;
|
|
|
-import com.diagbot.vo.neoPushEntity.*;
|
|
|
+import com.diagbot.vo.NeoPushVO;
|
|
|
+import com.diagbot.vo.StandConvert;
|
|
|
+import com.diagbot.vo.StandConvertCrfVO;
|
|
|
+import com.diagbot.vo.neoPushEntity.ChiefPushVo;
|
|
|
+import com.diagbot.vo.neoPushEntity.Diag;
|
|
|
+import com.diagbot.vo.neoPushEntity.LisPushVo;
|
|
|
+import com.diagbot.vo.neoPushEntity.PacsPushVo;
|
|
|
+import com.diagbot.vo.neoPushEntity.PresentPushVo;
|
|
|
+import com.diagbot.vo.neoPushEntity.Symptom;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.google.common.collect.Maps;
|
|
|
import io.github.lvyahui8.spring.facade.DataFacade;
|
|
@@ -46,7 +70,14 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.DecimalFormat;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Collection;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.LinkedHashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
@@ -119,6 +150,9 @@ public class NeoFacade {
|
|
|
@Autowired
|
|
|
TranHospitalFilterMapper tranHospitalFilterMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private KlRuleFacade klRuleFacade;
|
|
|
+
|
|
|
/**
|
|
|
* 返回药品缓存信息
|
|
|
*
|
|
@@ -504,10 +538,10 @@ public class NeoFacade {
|
|
|
public List<String> addDiagFromPresent(List<String> lis_dis, List<String> presentDiags) {
|
|
|
List<String> lis_dis_new = Lists.newArrayList();
|
|
|
if (ListUtil.isNotEmpty(lis_dis) && ListUtil.isNotEmpty(presentDiags)) {
|
|
|
-// if (lis_dis.size() >= 10) {
|
|
|
+ // if (lis_dis.size() >= 10) {
|
|
|
if (lis_dis.size() >= 1) {
|
|
|
for (int i = 0; i < lis_dis.size(); i++) {
|
|
|
-// if (i == 10 - presentDiags.size()) {
|
|
|
+ // if (i == 10 - presentDiags.size()) {
|
|
|
if (i == 1) {
|
|
|
for (String dis : presentDiags) {
|
|
|
if (!lis_dis_new.contains(dis)) {
|
|
@@ -810,9 +844,9 @@ public class NeoFacade {
|
|
|
});
|
|
|
disPack.forEach((x, y) -> {
|
|
|
//倒序排序
|
|
|
-// Map<String, Double> collect = y.entrySet().stream()
|
|
|
-// .sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
|
|
|
-// .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e2, LinkedHashMap::new));
|
|
|
+ // Map<String, Double> collect = y.entrySet().stream()
|
|
|
+ // .sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
|
|
|
+ // .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e2, LinkedHashMap::new));
|
|
|
//正序排序
|
|
|
Map<String, Double> collect = y.entrySet().stream()
|
|
|
.sorted(Map.Entry.comparingByValue())
|
|
@@ -845,7 +879,7 @@ public class NeoFacade {
|
|
|
*/
|
|
|
public List<String> pushDisBySymptom(SymptomNameRepository symptomNameRepository, List<String> symptoms) {
|
|
|
List<String> allDis = Lists.newArrayList();
|
|
|
-// allDis = symptomNameRepository.getDisBySymptoms(symptoms);
|
|
|
+ // allDis = symptomNameRepository.getDisBySymptoms(symptoms);
|
|
|
allDis = symptomNameRepository.getDisBySymptoms_1(symptoms);
|
|
|
return allDis;
|
|
|
}
|
|
@@ -966,17 +1000,17 @@ public class NeoFacade {
|
|
|
*/
|
|
|
public List<BillNeoDTO> getBillNeo(BillNeoVO billNeoVO) {
|
|
|
List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
|
|
|
-// try {
|
|
|
-// billNeoDTOs.addAll(getDrugBill(billNeoVO.getDrugList()));
|
|
|
-// billNeoDTOs.addAll(getPacsBill(billNeoVO.getPacsList()));
|
|
|
-// billNeoDTOs.addAll(getLisDetailBill(billNeoVO.getLisDetailList()));
|
|
|
-// billNeoDTOs.addAll(getLisBill(billNeoVO.getLisList()));
|
|
|
-// billNeoDTOs.addAll(getOperationBill(billNeoVO.getOperationList()));
|
|
|
-// billNeoDTOs.addAll(getCombiOpBill(billNeoVO.getCombiopList()));
|
|
|
-// billNeoDTOs.addAll(getTransfusionBill(billNeoVO.getTransfusionList()));
|
|
|
-// } catch (Exception ex) {
|
|
|
-// ex.printStackTrace();
|
|
|
-// }
|
|
|
+ // try {
|
|
|
+ // billNeoDTOs.addAll(getDrugBill(billNeoVO.getDrugList()));
|
|
|
+ // billNeoDTOs.addAll(getPacsBill(billNeoVO.getPacsList()));
|
|
|
+ // billNeoDTOs.addAll(getLisDetailBill(billNeoVO.getLisDetailList()));
|
|
|
+ // billNeoDTOs.addAll(getLisBill(billNeoVO.getLisList()));
|
|
|
+ // billNeoDTOs.addAll(getOperationBill(billNeoVO.getOperationList()));
|
|
|
+ // billNeoDTOs.addAll(getCombiOpBill(billNeoVO.getCombiopList()));
|
|
|
+ // billNeoDTOs.addAll(getTransfusionBill(billNeoVO.getTransfusionList()));
|
|
|
+ // } catch (Exception ex) {
|
|
|
+ // ex.printStackTrace();
|
|
|
+ // }
|
|
|
|
|
|
try {
|
|
|
Map<String, Object> invokeParams = new HashMap<>();
|
|
@@ -1260,8 +1294,8 @@ public class NeoFacade {
|
|
|
public NeoPushDTO getDiagInfo(NeoPushVO neoPushVO) {
|
|
|
NeoPushDTO pushDTO = new NeoPushDTO();
|
|
|
String term = neoPushVO.getDiagVo().getDiags().get(0).getName();
|
|
|
-// String o = (String) redisUtil.get(RedisEnum.diseaseCorrespond.getName() + term);
|
|
|
-// term = StringUtil.isNotBlank(o) ? o : term;
|
|
|
+ // String o = (String) redisUtil.get(RedisEnum.diseaseCorrespond.getName() + term);
|
|
|
+ // term = StringUtil.isNotBlank(o) ? o : term;
|
|
|
pushDTO = this.reverseInfo(term);
|
|
|
|
|
|
return pushDTO;
|
|
@@ -1349,7 +1383,7 @@ public class NeoFacade {
|
|
|
* 类型,疾病: disease,症状: symptom,手术和操作:operation,药品: drug,实验室检查:lis,辅助检查:pacs, 辅助检查:vital"
|
|
|
*
|
|
|
* @param standConvert
|
|
|
- * @return Map<String, Map < String, String>> -->Map<类型, Map<原始词, 标准词>>
|
|
|
+ * @return Map<String , Map < String , String>> -->Map<类型, Map<原始词, 标准词>>
|
|
|
*/
|
|
|
public Map<String, Map<String, String>> standConvertCrf(StandConvert standConvert) {
|
|
|
Map<String, Map<String, String>> map = new LinkedHashMap<>();
|
|
@@ -1542,4 +1576,18 @@ public class NeoFacade {
|
|
|
}
|
|
|
map.put(type, typeMap);
|
|
|
}
|
|
|
+
|
|
|
+ public void allRuleCache() {
|
|
|
+ List<RuleDTO> ruleDTOList = klRuleFacade.getAllRule();
|
|
|
+ if (ListUtil.isNotEmpty(ruleDTOList)) {
|
|
|
+ Map map = ruleDTOList.stream().collect(Collectors.toMap(
|
|
|
+ k -> RedisEnum.allRule.getName() + k.getLibType() + "_" + k.getLibName() + "_" + k.getRuleType(),
|
|
|
+ v -> {
|
|
|
+ return v;
|
|
|
+ },
|
|
|
+ (v1, v2) -> (v2)
|
|
|
+ ));
|
|
|
+ redisTemplate.opsForValue().multiSet(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|