|
@@ -55,7 +55,7 @@ public class TestFacade {
|
|
|
indicationPushVO.setIdNum(bean.getIdNum());
|
|
|
if (StringUtil.isNotBlank(bean.getOrderType())) {
|
|
|
switch (bean.getOrderType()) {
|
|
|
- case "实验室检查名称" : // 细项
|
|
|
+ case "实验室检查名称": // 细项
|
|
|
List<Lis> lisDetailOrder = new ArrayList<>();
|
|
|
Lis lisDetailBean = new Lis();
|
|
|
lisDetailBean.setName(bean.getStandName());
|
|
@@ -64,7 +64,7 @@ public class TestFacade {
|
|
|
lisDetailOrder.add(lisDetailBean);
|
|
|
indicationPushVO.setLisOrder(lisDetailOrder);
|
|
|
break;
|
|
|
- case "辅助检查名称" :
|
|
|
+ case "辅助检查名称":
|
|
|
List<Pacs> pacsOrder = new ArrayList<>();
|
|
|
Pacs pacsBean = new Pacs();
|
|
|
pacsBean.setName(bean.getStandName());
|
|
@@ -72,7 +72,7 @@ public class TestFacade {
|
|
|
pacsOrder.add(pacsBean);
|
|
|
indicationPushVO.setPacsOrder(pacsOrder);
|
|
|
break;
|
|
|
- case "实验室检查套餐名" :
|
|
|
+ case "实验室检查套餐名":
|
|
|
List<Lis> lisOrder = new ArrayList<>();
|
|
|
Lis lisBean = new Lis();
|
|
|
lisBean.setName(bean.getStandName());
|
|
@@ -80,7 +80,7 @@ public class TestFacade {
|
|
|
lisOrder.add(lisBean);
|
|
|
indicationPushVO.setLisOrder(lisOrder);
|
|
|
break;
|
|
|
- case "医保手术和操作名称" :
|
|
|
+ case "医保手术和操作名称":
|
|
|
List<Item> operationOrder = new ArrayList<>();
|
|
|
Item operationItem = new Item();
|
|
|
operationItem.setName(bean.getStandName());
|
|
@@ -218,7 +218,7 @@ public class TestFacade {
|
|
|
|
|
|
if (StringUtil.isNotEmpty(bean.getTransfusionNodeName())) {
|
|
|
switch (bean.getTransfusionNodeName()) {
|
|
|
- case "手术和操作" : // 手术和操作
|
|
|
+ case "手术和操作": // 手术和操作
|
|
|
List<Item> operation = new ArrayList<>();
|
|
|
Item item = new Item();
|
|
|
item.setName(bean.getStandName());
|
|
@@ -226,7 +226,7 @@ public class TestFacade {
|
|
|
operation.add(item);
|
|
|
indicationPushVO.setOperation(operation);
|
|
|
break;
|
|
|
- case "医保疾病名称" : // 医保疾病名称
|
|
|
+ case "医保疾病名称": // 医保疾病名称
|
|
|
List<Item> diag = new ArrayList<>();
|
|
|
Item itemDiag = new Item();
|
|
|
itemDiag.setName(bean.getStandName());
|
|
@@ -234,7 +234,7 @@ public class TestFacade {
|
|
|
diag.add(itemDiag);
|
|
|
indicationPushVO.setDiag(diag);
|
|
|
break;
|
|
|
- case "实验室检查" : // 实验室检查
|
|
|
+ case "实验室检查": // 实验室检查
|
|
|
List<Lis> lisList = new ArrayList<>();
|
|
|
Lis lisBean = new Lis();
|
|
|
lisBean.setUniqueName(bean.getStandName());
|
|
@@ -286,7 +286,7 @@ public class TestFacade {
|
|
|
continue;
|
|
|
}
|
|
|
// 3,4是高危手术
|
|
|
- if ("0".equals(bean.getOperationLevel()) || "1".equals(bean.getOperationLevel()) || "2".equals(bean.getOperationLevel())) {
|
|
|
+ if ("0" .equals(bean.getOperationLevel()) || "1" .equals(bean.getOperationLevel()) || "2" .equals(bean.getOperationLevel())) {
|
|
|
continue;
|
|
|
}
|
|
|
IndicationPushVO indicationPushVO = new IndicationPushVO();
|
|
@@ -339,14 +339,14 @@ public class TestFacade {
|
|
|
indicationPushVO.setRuleType("4");
|
|
|
indicationPushVO.setIdNum(bean.getIdNum());
|
|
|
|
|
|
- if ("药品通用名称".equals(bean.getOtherTipNodeType())) {
|
|
|
+ if ("药品通用名称" .equals(bean.getOtherTipNodeType())) {
|
|
|
List<Drug> drug = new ArrayList<>();
|
|
|
Drug item = new Drug();
|
|
|
item.setUniqueName(bean.getOtherTipNodeName());
|
|
|
item.setName(bean.getOtherTipNodeName());
|
|
|
drug.add(item);
|
|
|
indicationPushVO.setDrug(drug);
|
|
|
- } else if("医保疾病名称".equals(bean.getOtherTipNodeType())) {
|
|
|
+ } else if ("医保疾病名称" .equals(bean.getOtherTipNodeType())) {
|
|
|
List<Item> diag = new ArrayList<>();
|
|
|
Item item = new Item();
|
|
|
item.setUniqueName(bean.getOtherTipNodeName());
|
|
@@ -403,9 +403,9 @@ public class TestFacade {
|
|
|
indicationPushVO.setRuleType("4");
|
|
|
indicationPushVO.setIdNum(bean.getIdNum());
|
|
|
|
|
|
- if ("男性".equals(bean.getSexStr())) {
|
|
|
+ if ("男性" .equals(bean.getSexStr())) {
|
|
|
indicationPushVO.setSex(1);
|
|
|
- } else if ("女性".equals(bean.getSexStr())) {
|
|
|
+ } else if ("女性" .equals(bean.getSexStr())) {
|
|
|
indicationPushVO.setSex(2);
|
|
|
}
|
|
|
if (StringUtil.isNotBlank(bean.getDisName())) {
|
|
@@ -504,7 +504,7 @@ public class TestFacade {
|
|
|
operation.add(item);
|
|
|
indicationPushVO.setOperation(operation);
|
|
|
}
|
|
|
- if("实验室检查名称".equals(bean.getItemNodeName())) {
|
|
|
+ if ("实验室检查名称" .equals(bean.getItemNodeName())) {
|
|
|
List<Lis> lisList = new ArrayList<>();
|
|
|
Lis lis = new Lis();
|
|
|
lis.setName("套餐");
|
|
@@ -602,9 +602,9 @@ public class TestFacade {
|
|
|
}
|
|
|
IndicationPushVO indicationPushVO = new IndicationPushVO();
|
|
|
indicationPushVO.setRuleType("1");
|
|
|
- if (StringUtil.isNotBlank(bean.getCriticalAge()) && "成人".equals(bean.getCriticalAge())) {
|
|
|
+ if (StringUtil.isNotBlank(bean.getCriticalAge()) && "成人" .equals(bean.getCriticalAge())) {
|
|
|
indicationPushVO.setAge(20);
|
|
|
- } else if (StringUtil.isNotBlank(bean.getCriticalAge()) && "新生儿".equals(bean.getCriticalAge())) {
|
|
|
+ } else if (StringUtil.isNotBlank(bean.getCriticalAge()) && "新生儿" .equals(bean.getCriticalAge())) {
|
|
|
indicationPushVO.setAge(1);
|
|
|
} else {
|
|
|
indicationPushVO.setAge(20);
|
|
@@ -662,14 +662,29 @@ public class TestFacade {
|
|
|
* @return
|
|
|
*/
|
|
|
public double getValue(String[] arr) {
|
|
|
- if ("<".equals(arr[1]) || "≤".equals(arr[1])) {
|
|
|
+ if ("<" .equals(arr[1]) || "≤" .equals(arr[1]) || "<" .equals(arr[1]) || "≤" .equals(arr[1])) {
|
|
|
return Double.parseDouble(arr[2]) - 0.1;
|
|
|
- } else if (">".equals(arr[1]) || "≥".equals(arr[1])) {
|
|
|
+ } else if (">" .equals(arr[1]) || "≥" .equals(arr[1]) || (">").equals(arr[1])) {
|
|
|
return Double.parseDouble(arr[2]) + 0.1;
|
|
|
}
|
|
|
return 0.0;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 返回数值
|
|
|
+ *
|
|
|
+ * @param arr
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public double getValueNum(String[] arr) {
|
|
|
+ if ("<" .equals(arr[1]) || "≤" .equals(arr[1])) {
|
|
|
+ return Double.parseDouble(arr[2]) - 1;
|
|
|
+ } else if (">" .equals(arr[1]) || "≥" .equals(arr[1])) {
|
|
|
+ return Double.parseDouble(arr[2]) + 1;
|
|
|
+ }
|
|
|
+ return 0.0;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 返回数值
|
|
|
*
|
|
@@ -677,9 +692,9 @@ public class TestFacade {
|
|
|
* @return
|
|
|
*/
|
|
|
public double getValue(String symbol, Double dou) {
|
|
|
- if ("<".equals(symbol) || "≤".equals(symbol)) {
|
|
|
+ if ("<" .equals(symbol) || "≤" .equals(symbol)) {
|
|
|
return dou - 0.1;
|
|
|
- } else if (">".equals(symbol) || "≥".equals(symbol)) {
|
|
|
+ } else if (">" .equals(symbol) || "≥" .equals(symbol)) {
|
|
|
return dou + 0.1;
|
|
|
}
|
|
|
return 0.0;
|
|
@@ -706,4 +721,106 @@ public class TestFacade {
|
|
|
StandConvertCrfBatchDTO standConvertCrfBatchDTO = standConvertServiceClient.similarityBatch(standConvertCrfVOList);
|
|
|
return standConvertCrfBatchDTO;
|
|
|
}
|
|
|
+
|
|
|
+ public Map<String, Object> testHighRiskProcess(MultipartFile file, TestLineVO testLineVO) {
|
|
|
+ List<IndicationPushVO> indicationPushVOList = new ArrayList<>();
|
|
|
+ List<TestIndicationVO> data = ExcelUtils.importExcelMultiSheets(file, 0, 1, testLineVO.getSheetIndex(), TestIndicationVO.class);
|
|
|
+ for (TestIndicationVO bean : data) {
|
|
|
+ if (StringUtil.isNotEmpty(testLineVO.getIdNum()) && !testLineVO.getIdNum().equals(bean.getIdNum())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ // 3,4是高危手术
|
|
|
+ if ("0" .equals(bean.getOperationLevel()) || "1" .equals(bean.getOperationLevel()) || "3" .equals(bean.getOperationLevel())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ IndicationPushVO indicationPushVO = new IndicationPushVO();
|
|
|
+ //年龄
|
|
|
+ String[] split = bean.getAgeAll().split(",");
|
|
|
+ indicationPushVO.setAge((int) getValueNum(split));
|
|
|
+ indicationPushVO.setRuleType("3");
|
|
|
+ indicationPushVO.setIdNum(bean.getIdNum());
|
|
|
+ List<Item> operationOrder = new ArrayList<>();
|
|
|
+ //体格
|
|
|
+ String physique = bean.getPhysique();
|
|
|
+ String[] physiqueStrArray = physique.split(",");
|
|
|
+ for (String str : physiqueStrArray) {
|
|
|
+ if (str.contains(",")) {
|
|
|
+ //包含英文逗号
|
|
|
+ String[] strArray = str.split(",");
|
|
|
+ String t = strArray[0] + getValue(strArray) + strArray[3];
|
|
|
+ indicationPushVO.setVital(t);
|
|
|
+ break;
|
|
|
+ } else {
|
|
|
+ indicationPushVO.setVital(str);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //化验
|
|
|
+ String lisAll = bean.getLisAll();
|
|
|
+ String[] physiquelisAll = lisAll.split(",");
|
|
|
+ List<Lis> lisList = new ArrayList<>();
|
|
|
+ for (String str : physiquelisAll) {
|
|
|
+ if (str.contains(",")) {
|
|
|
+ //包含英文逗号
|
|
|
+ String[] strArray = str.split(",");
|
|
|
+ String lisStr = bean.getNeoName();
|
|
|
+ Lis lisBean = new Lis();
|
|
|
+ lisBean.setUniqueName(strArray[0]);
|
|
|
+ lisBean.setName(strArray[0]);
|
|
|
+ lisBean.setDetailName(strArray[0]);
|
|
|
+ lisBean.setValue(getValue(strArray));
|
|
|
+ lisList.add(lisBean);
|
|
|
+ indicationPushVO.setLis(lisList);
|
|
|
+ break;
|
|
|
+ } else {
|
|
|
+ indicationPushVO.setVital(str);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //辅检
|
|
|
+ String pacsAll = bean.getPacsAll();
|
|
|
+ String[] physiquepacsAll = pacsAll.split(",");
|
|
|
+ indicationPushVO.setSymptom("B超:提示" + pacsAll);
|
|
|
+
|
|
|
+ //诊断
|
|
|
+ String disease = bean.getDisease();
|
|
|
+ String[] physiquedisease = pacsAll.split(",");
|
|
|
+ List<Item> diag = new ArrayList<>();
|
|
|
+ for (String diseaseStr : physiquedisease) {
|
|
|
+ Item item = new Item();
|
|
|
+ item.setUniqueName(diseaseStr);
|
|
|
+ item.setName(diseaseStr);
|
|
|
+ diag.add(item);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ indicationPushVO.setDiag(diag);
|
|
|
+ Item item = new Item();
|
|
|
+ item.setUniqueName(bean.getOperationName());
|
|
|
+ item.setName(bean.getOperationName());
|
|
|
+ operationOrder.add(item);
|
|
|
+ indicationPushVO.setOperationOrder(operationOrder);
|
|
|
+ indicationPushVOList.add(indicationPushVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String, Object> map = new LinkedHashMap<>();
|
|
|
+
|
|
|
+ List<String> msg = new ArrayList<>();
|
|
|
+ List<String> errMsg = new ArrayList<>();
|
|
|
+ for (IndicationPushVO indicationPushVO : indicationPushVOList) {
|
|
|
+ try {
|
|
|
+ IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
|
|
|
+ if (ListUtil.isEmpty(indicationDTO.getHighRiskList())) {
|
|
|
+ msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println(e.getMessage());
|
|
|
+ errMsg.add(indicationPushVO.getIdNum() + "行出错了");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("总条数", indicationPushVOList.size() + "条");
|
|
|
+ map.put("出错条数", msg.size() + "条");
|
|
|
+ map.put("出错信息", msg);
|
|
|
+ map.put("程序报错", errMsg);
|
|
|
+ return map;
|
|
|
+ }
|
|
|
}
|