|
@@ -1,8 +1,11 @@
|
|
|
package com.diagbot.repository;
|
|
|
|
|
|
+import com.diagbot.biz.push.entity.Lis;
|
|
|
import com.diagbot.dto.*;
|
|
|
import com.diagbot.entity.node.*;
|
|
|
import com.diagbot.util.NeoUtil;
|
|
|
+import com.diagbot.util.StringUtil;
|
|
|
+import com.diagbot.vo.CriticalNeoVO;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
@@ -162,5 +165,74 @@ public class LisNode {
|
|
|
|
|
|
return lislist;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取化验细项危急值
|
|
|
+ */
|
|
|
+ public List<CriticalNeoDTO> getLisCritialList(CriticalNeoVO criticalNeoVO, LisRepository lisRepository) {
|
|
|
+ String nodename;
|
|
|
+ Integer agemin, agemax;
|
|
|
+
|
|
|
+ List<CriticalNeoDTO> lislist = new ArrayList<>();
|
|
|
+ CriticalNeoDTO criticalNeoDTO;
|
|
|
+
|
|
|
+ Integer gender = criticalNeoVO.getSex();
|
|
|
+ Integer age = criticalNeoVO.getAge();
|
|
|
+ List<Lis> lisVO = criticalNeoVO.getLis();
|
|
|
+
|
|
|
+ try {
|
|
|
+ for (Lis lisvo : lisVO) {
|
|
|
+
|
|
|
+ String name = lisvo.getDetailName();
|
|
|
+
|
|
|
+ if (StringUtil.isNotBlank(name)) {
|
|
|
+ List<LIS> lislt = lisRepository.findByNameLike("*" + name + "*");
|
|
|
+
|
|
|
+ for (LIS lis : lislt) {
|
|
|
+ criticalNeoDTO = new CriticalNeoDTO();
|
|
|
+ nodename = lis.getName();
|
|
|
+ criticalNeoDTO.setName(nodename);
|
|
|
+ criticalNeoDTO.setStandname(nodename);
|
|
|
+ criticalNeoDTO.setType("化验");
|
|
|
+
|
|
|
+ List<LISCritical> lisCriticals = new ArrayList<>(lis.getLiscritial());
|
|
|
+
|
|
|
+ for (LISCritical lisCritical : lisCriticals) {
|
|
|
+ agemin = 0;
|
|
|
+ agemax = 0;
|
|
|
+ if (lisCritical.getAge().contains(":")) {
|
|
|
+ String[] agerange = lisCritical.getAge().split(":");
|
|
|
+ agemin = Integer.parseInt(agerange[0]);
|
|
|
+ agemax = Integer.parseInt(agerange[1]);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (age>=agemin && age<=agemax) {
|
|
|
+ NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
|
|
|
+
|
|
|
+ BigDecimal min = (StringUtil.isNotBlank(lisCritical.getMinval()))
|
|
|
+ ?(new BigDecimal(lisCritical.getMinval())):null;
|
|
|
+ BigDecimal max = (StringUtil.isNotBlank(lisCritical.getMaxval()))
|
|
|
+ ?(new BigDecimal(lisCritical.getMaxval())):null;
|
|
|
+
|
|
|
+ nodeNeoDTO.setMin(min);
|
|
|
+ nodeNeoDTO.setMax(max);
|
|
|
+ nodeNeoDTO.setUnit(lisCritical.getUnit());
|
|
|
+ criticalNeoDTO.setCritical(nodeNeoDTO);
|
|
|
+
|
|
|
+ lislist.add(criticalNeoDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex) {
|
|
|
+ ex.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ return lislist;
|
|
|
+ }
|
|
|
}
|
|
|
|