|
@@ -19,13 +19,13 @@ public class RuleTest {
|
|
|
public static void main(String[] args) {
|
|
|
RuleTest test = new RuleTest();
|
|
|
try {
|
|
|
- test.validate();
|
|
|
+ test.validatePub();
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void validate() throws Exception {
|
|
|
+ private void validatePub() throws Exception {
|
|
|
MysqlJdbc nlpJdbc = new MysqlJdbc("root", "diagbot@20180822", "jdbc:mysql://192.168.2.235:3306/med-s?useUnicode=true&characterEncoding=UTF-8");
|
|
|
List<Map<String, String>> data = nlpJdbc.query("kl_rule_pub",
|
|
|
new String[]{"id", "pub_name", "min_operator", "min_value", "min_unit",
|
|
@@ -35,106 +35,10 @@ public class RuleTest {
|
|
|
List<Map<String, Object>> wheres = new ArrayList<>();
|
|
|
//数据预处理
|
|
|
PretreatmentRule pretreatmentRule = new PretreatmentRule();
|
|
|
- double value = 0.0;
|
|
|
for (Map<String, String> map : data) {
|
|
|
SearchData searchData = new SearchData();
|
|
|
searchData.setSysCode("1");
|
|
|
- if (!StringUtils.isEmpty(map.get("eq_operator")) && "=".equals(map.get("eq_operator"))) {
|
|
|
- if ("诊断--".equals(map.get("pub_name"))) {
|
|
|
- searchData.setDiag(map.get("eq_value"));
|
|
|
- }
|
|
|
- if ("开单--".equals(map.get("pub_name"))) {
|
|
|
- searchData.setLisOrder(map.get("eq_value"));
|
|
|
- searchData.setPacsOrder(map.get("eq_value"));
|
|
|
- }
|
|
|
- if ("症状--".equals(map.get("pub_name"))) {
|
|
|
- searchData.setSymptom(map.get("eq_value"));
|
|
|
- }
|
|
|
- if ("药品--".equals(map.get("pub_name"))) {
|
|
|
- searchData.setPasts(map.get("eq_value"));
|
|
|
- }
|
|
|
- if ("既往--".equals(map.get("pub_name"))) {
|
|
|
- searchData.setPasts(map.get("eq_value"));
|
|
|
- }
|
|
|
- if ("过敏--".equals(map.get("pub_name"))) {
|
|
|
- searchData.setPasts(map.get("eq_value"));
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("其他--") > -1) {
|
|
|
- searchData.setOther(map.get("pub_name") + map.get("eq_value"));
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("检查--") > -1) {
|
|
|
- searchData.setPacs(map.get("pub_name") + map.get("eq_value"));
|
|
|
- }
|
|
|
- } else if (!StringUtils.isEmpty(map.get("min_operator")) && !StringUtils.isEmpty(map.get("max_operator"))) {
|
|
|
- if (map.get("pub_name").indexOf("体征--") > -1) {
|
|
|
- value = Double.valueOf(map.get("min_value")) + 0.1;
|
|
|
- searchData.setVital(map.get("pub_name") + value + map.get("min_unit"));
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("其他--") > -1) {
|
|
|
- value = Double.valueOf(map.get("min_value")) + 0.1;
|
|
|
- searchData.setOther(map.get("pub_name") + value + map.get("min_unit"));
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("化验--") > -1) {
|
|
|
- value = Double.valueOf(map.get("min_value")) + 0.1;
|
|
|
- List<PreResult> list = new ArrayList<>();
|
|
|
- PreResult preResult = new PreResult();
|
|
|
- preResult.setUniqueName(map.get("pub_name").substring(4));
|
|
|
- preResult.setValue(String.valueOf(value));
|
|
|
- preResult.setUnits(map.get("min_unit"));
|
|
|
- list.add(preResult);
|
|
|
- searchData.setLisArr(list);
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("年龄--") > -1) {
|
|
|
- int v = Integer.valueOf(map.get("min_value")) + 1;
|
|
|
- searchData.setAge(v);
|
|
|
- }
|
|
|
- } else if (!StringUtils.isEmpty(map.get("min_operator"))) {
|
|
|
- if (map.get("pub_name").indexOf("体征--") > -1) {
|
|
|
- value = Double.valueOf(map.get("min_value")) - 0.1;
|
|
|
- searchData.setVital(map.get("pub_name") + value + map.get("min_unit"));
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("其他--") > -1) {
|
|
|
- value = Double.valueOf(map.get("min_value")) - 0.1;
|
|
|
- searchData.setOther(map.get("pub_name") + value + map.get("min_unit"));
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("化验--") > -1) {
|
|
|
- value = Double.valueOf(map.get("min_value")) - 0.1;
|
|
|
- List<PreResult> list = new ArrayList<>();
|
|
|
- PreResult preResult = new PreResult();
|
|
|
- preResult.setUniqueName(map.get("pub_name").substring(4));
|
|
|
- preResult.setValue(String.valueOf(value));
|
|
|
- preResult.setUnits(map.get("min_unit"));
|
|
|
- list.add(preResult);
|
|
|
- searchData.setLisArr(list);
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("年龄--") > -1) {
|
|
|
- int v = Integer.valueOf(map.get("min_value")) - 1;
|
|
|
- searchData.setAge(v);
|
|
|
- }
|
|
|
- } else if (!StringUtils.isEmpty(map.get("max_operator"))) {
|
|
|
- if (map.get("pub_name").indexOf("体征--") > -1) {
|
|
|
- value = Double.valueOf(map.get("max_value")) + 0.1;
|
|
|
- searchData.setVital(map.get("pub_name") + value + map.get("max_unit"));
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("其他--") > -1) {
|
|
|
- value = Double.valueOf(map.get("max_value")) + 0.1;
|
|
|
- searchData.setOther(map.get("pub_name") + value + map.get("max_unit"));
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("化验--") > -1) {
|
|
|
- value = Double.valueOf(map.get("max_value")) + 0.1;
|
|
|
- List<PreResult> list = new ArrayList<>();
|
|
|
- PreResult preResult = new PreResult();
|
|
|
- preResult.setUniqueName(map.get("pub_name").substring(4));
|
|
|
- preResult.setValue(String.valueOf(value));
|
|
|
- preResult.setUnits(map.get("max_unit"));
|
|
|
- list.add(preResult);
|
|
|
- searchData.setLisArr(list);
|
|
|
- }
|
|
|
- if (map.get("pub_name").indexOf("年龄--") > -1) {
|
|
|
- int v = Integer.valueOf(map.get("max_value")) + 1;
|
|
|
- searchData.setAge(v);
|
|
|
- }
|
|
|
- }
|
|
|
+ createSearchData(searchData, map);
|
|
|
|
|
|
Map<String, Object> line = new HashMap<>();
|
|
|
Map<String, Object> where = new HashMap<>();
|
|
@@ -155,4 +59,129 @@ public class RuleTest {
|
|
|
|
|
|
nlpJdbc.update("kl_rule_pub", updates, wheres);
|
|
|
}
|
|
|
+
|
|
|
+ private void validateApp() throws Exception {
|
|
|
+ MysqlJdbc nlpJdbc = new MysqlJdbc("root", "diagbot@20180822", "jdbc:mysql://192.168.2.235:3306/med-s?useUnicode=true&characterEncoding=UTF-8");
|
|
|
+ List<Map<String, String>> data = nlpJdbc.query("kl_rule_pub",
|
|
|
+ new String[]{"id", "pub_name", "min_operator", "min_value", "min_unit",
|
|
|
+ "max_operator", "max_value", "max_unit", "eq_operator", "eq_value", "eq_unit", "remind", "suffix_info"}, "");
|
|
|
+
|
|
|
+ Map<String, Map<String, String>> rulesMap = new HashMap<>();
|
|
|
+ for (Map<String, String> map : data) {
|
|
|
+ rulesMap.put(map.get("id"), map);
|
|
|
+ }
|
|
|
+
|
|
|
+ data = nlpJdbc.query("kl_rule_app", new String[]{"id", "rule_id"}, "");
|
|
|
+ for (Map<String, String> map : data) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Map<String, Object>> updates = new ArrayList<>();
|
|
|
+ List<Map<String, Object>> wheres = new ArrayList<>();
|
|
|
+ }
|
|
|
+
|
|
|
+ private SearchData createSearchData(SearchData searchData, Map<String, String> map) {
|
|
|
+ double value = 0.0;
|
|
|
+ if (!StringUtils.isEmpty(map.get("eq_operator")) && "=".equals(map.get("eq_operator"))) {
|
|
|
+ if ("诊断--".equals(map.get("pub_name"))) {
|
|
|
+ searchData.setDiag(map.get("eq_value"));
|
|
|
+ }
|
|
|
+ if ("体征--".equals(map.get("pub_name"))) {
|
|
|
+ searchData.setVital(map.get("eq_value"));
|
|
|
+ }
|
|
|
+ if ("开单--".equals(map.get("pub_name"))) {
|
|
|
+ searchData.setLisOrder(map.get("eq_value"));
|
|
|
+ searchData.setPacsOrder(map.get("eq_value"));
|
|
|
+ }
|
|
|
+ if ("症状--".equals(map.get("pub_name"))) {
|
|
|
+ searchData.setSymptom(map.get("eq_value"));
|
|
|
+ }
|
|
|
+ if ("药品--".equals(map.get("pub_name"))) {
|
|
|
+ searchData.setPasts(map.get("eq_value"));
|
|
|
+ }
|
|
|
+ if ("既往--".equals(map.get("pub_name"))) {
|
|
|
+ searchData.setPasts(map.get("eq_value"));
|
|
|
+ }
|
|
|
+ if ("过敏--".equals(map.get("pub_name"))) {
|
|
|
+ searchData.setPasts(map.get("eq_value"));
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("其他--") > -1) {
|
|
|
+ searchData.setOther(map.get("pub_name") + map.get("eq_value"));
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("检查--") > -1) {
|
|
|
+ searchData.setPacs(map.get("pub_name") + map.get("eq_value"));
|
|
|
+ }
|
|
|
+ } else if (!StringUtils.isEmpty(map.get("min_operator")) && !StringUtils.isEmpty(map.get("max_operator"))) {
|
|
|
+ if (map.get("pub_name").indexOf("体征--") > -1) {
|
|
|
+ value = Double.valueOf(map.get("min_value")) + 0.1;
|
|
|
+ searchData.setVital(map.get("pub_name") + value + map.get("min_unit"));
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("其他--") > -1) {
|
|
|
+ value = Double.valueOf(map.get("min_value")) + 0.1;
|
|
|
+ searchData.setOther(map.get("pub_name") + value + map.get("min_unit"));
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("化验--") > -1) {
|
|
|
+ value = Double.valueOf(map.get("min_value")) + 0.1;
|
|
|
+ List<PreResult> list = new ArrayList<>();
|
|
|
+ PreResult preResult = new PreResult();
|
|
|
+ preResult.setUniqueName(map.get("pub_name").substring(4));
|
|
|
+ preResult.setValue(String.valueOf(value));
|
|
|
+ preResult.setUnits(map.get("min_unit"));
|
|
|
+ list.add(preResult);
|
|
|
+ searchData.setLisArr(list);
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("年龄--") > -1) {
|
|
|
+ int v = Integer.valueOf(map.get("min_value")) + 1;
|
|
|
+ searchData.setAge(v);
|
|
|
+ }
|
|
|
+ } else if (!StringUtils.isEmpty(map.get("min_operator"))) {
|
|
|
+ if (map.get("pub_name").indexOf("体征--") > -1) {
|
|
|
+ value = Double.valueOf(map.get("min_value")) - 0.1;
|
|
|
+ searchData.setVital(map.get("pub_name") + value + map.get("min_unit"));
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("其他--") > -1) {
|
|
|
+ value = Double.valueOf(map.get("min_value")) - 0.1;
|
|
|
+ searchData.setOther(map.get("pub_name") + value + map.get("min_unit"));
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("化验--") > -1) {
|
|
|
+ value = Double.valueOf(map.get("min_value")) - 0.1;
|
|
|
+ List<PreResult> list = new ArrayList<>();
|
|
|
+ PreResult preResult = new PreResult();
|
|
|
+ preResult.setUniqueName(map.get("pub_name").substring(4));
|
|
|
+ preResult.setValue(String.valueOf(value));
|
|
|
+ preResult.setUnits(map.get("min_unit"));
|
|
|
+ list.add(preResult);
|
|
|
+ searchData.setLisArr(list);
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("年龄--") > -1) {
|
|
|
+ int v = Integer.valueOf(map.get("min_value")) - 1;
|
|
|
+ searchData.setAge(v);
|
|
|
+ }
|
|
|
+ } else if (!StringUtils.isEmpty(map.get("max_operator"))) {
|
|
|
+ if (map.get("pub_name").indexOf("体征--") > -1) {
|
|
|
+ value = Double.valueOf(map.get("max_value")) + 0.1;
|
|
|
+ searchData.setVital(map.get("pub_name") + value + map.get("max_unit"));
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("其他--") > -1) {
|
|
|
+ value = Double.valueOf(map.get("max_value")) + 0.1;
|
|
|
+ searchData.setOther(map.get("pub_name") + value + map.get("max_unit"));
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("化验--") > -1) {
|
|
|
+ value = Double.valueOf(map.get("max_value")) + 0.1;
|
|
|
+ List<PreResult> list = new ArrayList<>();
|
|
|
+ PreResult preResult = new PreResult();
|
|
|
+ preResult.setUniqueName(map.get("pub_name").substring(4));
|
|
|
+ preResult.setValue(String.valueOf(value));
|
|
|
+ preResult.setUnits(map.get("max_unit"));
|
|
|
+ list.add(preResult);
|
|
|
+ searchData.setLisArr(list);
|
|
|
+ }
|
|
|
+ if (map.get("pub_name").indexOf("年龄--") > -1) {
|
|
|
+ int v = Integer.valueOf(map.get("max_value")) + 1;
|
|
|
+ searchData.setAge(v);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return searchData;
|
|
|
+ }
|
|
|
}
|