|
@@ -11,6 +11,15 @@ import com.diagbot.vo.Drug;
|
|
|
import com.diagbot.vo.IndicationPushVO;
|
|
|
import com.diagbot.vo.ItemExt;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.util.NumberUtils;
|
|
|
+
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.regex.Matcher;
|
|
|
+import java.util.regex.Pattern;
|
|
|
|
|
|
/**
|
|
|
* @Description:
|
|
@@ -22,152 +31,256 @@ public class MedSearchDataFacade {
|
|
|
/**
|
|
|
* 生成开单合理性入参
|
|
|
*
|
|
|
- * @param result
|
|
|
+ * @param list
|
|
|
* @return
|
|
|
*/
|
|
|
- public IndicationPushVO createBillVO(ResultRule result) {
|
|
|
+ public IndicationPushVO createBillVO(List<ResultRule> list) {
|
|
|
IndicationPushVO indicationPushVO = new IndicationPushVO();
|
|
|
indicationPushVO.setAge("20");
|
|
|
indicationPushVO.setSex(3);
|
|
|
indicationPushVO.setRuleType("2");
|
|
|
|
|
|
- //开单项
|
|
|
- if (result.getRuleLibType().equals(LexiconEnum.LisName.getKey())) {
|
|
|
- //检验开单项
|
|
|
- Lis lis = new Lis();
|
|
|
- lis.setName(result.getRuleHisName());
|
|
|
- lis.setUniqueName(result.getRuleLibName());
|
|
|
- indicationPushVO.getLisOrder().add(lis);
|
|
|
- }
|
|
|
- if (result.getRuleLibType().equals(LexiconEnum.PacsName.getKey())
|
|
|
- || result.getRuleLibType().equals(LexiconEnum.PacsSubName.getKey())) {
|
|
|
- Pacs pacs = new Pacs();
|
|
|
- pacs.setName(result.getRuleHisName());
|
|
|
- pacs.setUniqueName(result.getRuleLibName());
|
|
|
- indicationPushVO.getPacsOrder().add(pacs);
|
|
|
- }
|
|
|
- if (result.getRuleLibType().equals(LexiconEnum.Operation.getKey())) {
|
|
|
- Item operation = new Item();
|
|
|
- operation.setName(result.getRuleHisName());
|
|
|
- operation.setUniqueName(result.getRuleLibName());
|
|
|
- indicationPushVO.getOperationOrder().add(operation);
|
|
|
- }
|
|
|
- if (result.getRuleLibType().equals(LexiconEnum.Medicine.getKey())) {
|
|
|
- Drug drug = new Drug();
|
|
|
- drug.setName(result.getRuleHisName());
|
|
|
- drug.setUniqueName(result.getRuleLibName());
|
|
|
- indicationPushVO.getDrugOrder().add(drug);
|
|
|
- }
|
|
|
- if (result.getRuleLibType().equals(LexiconEnum.Transfusion.getKey())) {
|
|
|
- ItemExt itemExt = new ItemExt();
|
|
|
- itemExt.setName(result.getRuleHisName());
|
|
|
- itemExt.setUniqueName(result.getRuleLibName());
|
|
|
- indicationPushVO.getTransfusionOrder().add(itemExt);
|
|
|
- }
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String now = formatter.format(new Date());
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.add(Calendar.DATE, -1);
|
|
|
+ String lastDate = formatter.format(calendar.getTime());
|
|
|
|
|
|
- if (result.getRuleBaseLibType().equals(LexiconEnum.Disease.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
- Item diag = new Item();
|
|
|
- diag.setName(result.getRuleBaseHisName());
|
|
|
- diag.setUniqueName(result.getRuleBaseLibName());
|
|
|
- indicationPushVO.getDiag().add(diag);
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.Medicine.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
- indicationPushVO.setSymptom(indicationPushVO.getSymptom() +
|
|
|
- (StringUtil.isNotBlank(result.getRuleBaseHisName())
|
|
|
- ? ("一直服用" + result.getRuleBaseHisName() + ",")
|
|
|
- : ""));
|
|
|
- } else if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Allergen.getKey())) {
|
|
|
- indicationPushVO.setPasts(indicationPushVO.getPasts() +
|
|
|
- (StringUtil.isNotBlank(result.getRuleBaseHisName())
|
|
|
- ? ("对" + result.getRuleBaseHisName() + "过敏,")
|
|
|
- : ""));
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.Symptom.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
- indicationPushVO.setSymptom(indicationPushVO.getSymptom() + result.getRuleBaseLibName() + ",");
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.Vital.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Compare.getKey())) {
|
|
|
- indicationPushVO.setVital(result.getRuleBaseLibName() + result.getRuleBaseInputValue()
|
|
|
- + (StringUtil.isNotBlank(result.getRuleBaseUnit()) ? result.getRuleBaseUnit() : "")
|
|
|
- + ",");
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.VitalResult.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
- indicationPushVO.setVital(result.getRuleBaseLibName() + result.getRuleBaseInputValue() + ",");
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.Operation.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
- Item operation = new Item();
|
|
|
- operation.setName(result.getRuleBaseHisName());
|
|
|
- operation.setUniqueName(result.getRuleBaseLibName());
|
|
|
- indicationPushVO.getOperation().add(operation);
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.LisSubName.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Compare.getKey())) {
|
|
|
- Lis lis = new Lis();
|
|
|
- lis.setName(result.getRuleBaseHisName());
|
|
|
- lis.setDetailName(result.getRuleBaseHisDetailName());
|
|
|
- lis.setUniqueName(result.getRuleBaseLibName());
|
|
|
- lis.setUnits(result.getRuleBaseUnit());
|
|
|
- if (result.getRuleBaseMinValue() != null || result.getRuleBaseMaxValue() != null) {
|
|
|
- lis.setValue(Double.valueOf(result.getRuleBaseInputValue()));
|
|
|
- } else {
|
|
|
- lis.setOtherValue(result.getRuleBaseInputValue());
|
|
|
+ for (ResultRule result : list) {
|
|
|
+ //医学规则
|
|
|
+ if (result.getRuleType().equals(1)) {
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.Medicine.getKey())) {
|
|
|
+ Drug drug = new Drug();
|
|
|
+ drug.setName(result.getRuleHisName());
|
|
|
+ drug.setUniqueName(result.getRuleLibName());
|
|
|
+ indicationPushVO.getDrugOrder().add(drug);
|
|
|
+ } else if (result.getRuleLibType().equals(LexiconEnum.Operation.getKey())) {
|
|
|
+ Item operation = new Item();
|
|
|
+ operation.setName(result.getRuleHisName());
|
|
|
+ operation.setUniqueName(result.getRuleLibName());
|
|
|
+ indicationPushVO.getOperationOrder().add(operation);
|
|
|
+ } else if (result.getRuleLibType().equals(LexiconEnum.LisName.getKey())) {
|
|
|
+ //检验开单项
|
|
|
+ Lis lis = new Lis();
|
|
|
+ lis.setName(result.getRuleHisName());
|
|
|
+ lis.setUniqueName(result.getRuleLibName());
|
|
|
+ indicationPushVO.getLisOrder().add(lis);
|
|
|
+ } else if (result.getRuleLibType().equals(LexiconEnum.PacsName.getKey())
|
|
|
+ || result.getRuleLibType().equals(LexiconEnum.PacsSubName.getKey())) {
|
|
|
+ Pacs pacs = new Pacs();
|
|
|
+ pacs.setName(result.getRuleHisName());
|
|
|
+ pacs.setUniqueName(result.getRuleLibName());
|
|
|
+ indicationPushVO.getPacsOrder().add(pacs);
|
|
|
+ } else if (result.getRuleLibType().equals(LexiconEnum.Transfusion.getKey())) {
|
|
|
+ ItemExt itemExt = new ItemExt();
|
|
|
+ itemExt.setName(result.getRuleHisName());
|
|
|
+ itemExt.setUniqueName(result.getRuleLibName());
|
|
|
+ indicationPushVO.getTransfusionOrder().add(itemExt);
|
|
|
}
|
|
|
- if (result.getRuleBaseMaxValue() != null) {
|
|
|
- lis.setMaxValue(result.getRuleBaseMaxValue().doubleValue());
|
|
|
+ } else if (result.getRuleType().equals(2)) {
|
|
|
+ //高危
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.Medicine.getKey())) {
|
|
|
+ Drug drug = new Drug();
|
|
|
+ drug.setName(result.getRuleHisName());
|
|
|
+ drug.setUniqueName(result.getRuleLibName());
|
|
|
+ drug.setForm(result.getRuleBaseLibName());
|
|
|
+ indicationPushVO.getDrugOrder().add(drug);
|
|
|
+ } else if (result.getRuleLibType().equals(LexiconEnum.Operation.getKey())) {
|
|
|
+ Item operation = new Item();
|
|
|
+ operation.setName(result.getRuleHisName());
|
|
|
+ operation.setUniqueName(result.getRuleLibName());
|
|
|
+ indicationPushVO.getOperationOrder().add(operation);
|
|
|
}
|
|
|
- if (result.getRuleBaseMinValue() != null) {
|
|
|
- lis.setMinValue(result.getRuleBaseMinValue().doubleValue());
|
|
|
+ } else if (result.getRuleType().equals(3)) {
|
|
|
+ //危急值
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.LisSubName.getKey())) {
|
|
|
+ //检验开单项
|
|
|
+ Lis lis = new Lis();
|
|
|
+ lis.setName(result.getRuleHisName());
|
|
|
+ lis.setDetailName(result.getRuleHisDetailName());
|
|
|
+ lis.setUniqueName(result.getRuleLibName());
|
|
|
+ indicationPushVO.getLis().add(lis);
|
|
|
+ } else if (result.getRuleLibType().equals(LexiconEnum.PacsResult.getKey())) {
|
|
|
+ Pacs pacs = new Pacs();
|
|
|
+ pacs.setDesc(result.getRuleLibName());
|
|
|
+ pacs.setResult(result.getRuleLibName());
|
|
|
+ indicationPushVO.getPacs().add(pacs);
|
|
|
}
|
|
|
- indicationPushVO.getLis().add(lis);
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.PacsName.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.BillItem.getKey())) {
|
|
|
- Pacs pacs = new Pacs();
|
|
|
- pacs.setName(result.getRuleBaseHisName());
|
|
|
- pacs.setUniqueName(result.getRuleBaseLibName());
|
|
|
- indicationPushVO.getPacsOrder().add(pacs);
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.PacsResult.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
- Pacs pacs = new Pacs();
|
|
|
- pacs.setDesc(result.getRuleBaseLibName());
|
|
|
- pacs.setResult(result.getRuleBaseLibName());
|
|
|
- indicationPushVO.getPacs().add(pacs);
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.Gender.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
- if (result.getRuleBaseLibName().equals("男")) {
|
|
|
- indicationPushVO.setSex(1);
|
|
|
- } else if (result.getRuleBaseLibName().equals("女")) {
|
|
|
- indicationPushVO.setSex(2);
|
|
|
- } else {
|
|
|
- indicationPushVO.setSex(3);
|
|
|
+ } else if (result.getRuleType().equals(4)) {
|
|
|
+ //其他值-检验、检查
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.LisSubName.getKey())) {
|
|
|
+ //基础规则中生成测试数据
|
|
|
+ }
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.PacsResult.getKey())) {
|
|
|
+ Pacs pacs = new Pacs();
|
|
|
+ String pacsResult = result.getRuleLibName();
|
|
|
+ /*if (result.getHasSubCond().equals(1)
|
|
|
+ && result.getRuleBaseLibType().equals(LexiconEnum.PacsResult.getKey())
|
|
|
+ && result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ pacsResult += "," + result.getRuleBaseLibName();
|
|
|
+ }*/
|
|
|
+ pacs.setDesc(pacsResult);
|
|
|
+ pacs.setResult(pacsResult);
|
|
|
+ indicationPushVO.getPacs().add(pacs);
|
|
|
+ }
|
|
|
+ } else if (result.getRuleType().equals(5)) {
|
|
|
+ //其他值-检验、检查
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.LisSubName.getKey())) {
|
|
|
+ //基础规则中生成测试数据
|
|
|
+ }
|
|
|
+ } else if (result.getRuleType().equals(6)) {
|
|
|
+ //正常项目重复开立处理
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.PacsName.getKey())
|
|
|
+ || result.getRuleLibType().equals(LexiconEnum.PacsSubName.getKey())) {
|
|
|
+ Pacs pacs = new Pacs();
|
|
|
+ pacs.setName(result.getRuleHisName());
|
|
|
+ pacs.setUniqueName(result.getRuleLibName());
|
|
|
+ pacs.setDateValue(now);
|
|
|
+ indicationPushVO.getPacsOrder().add(pacs);
|
|
|
}
|
|
|
}
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.Group.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
- indicationPushVO.setSymptom(indicationPushVO.getSymptom() +
|
|
|
- result.getRuleBaseLibName() +
|
|
|
- (result.getRuleBaseInputValue() != null ? result.getRuleBaseInputValue() : "") +
|
|
|
- (StringUtil.isNotBlank(result.getRuleBaseUnit()) ? result.getRuleBaseUnit() : "") +
|
|
|
- ",");
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.Allergen.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Allergen.getKey())) {
|
|
|
- indicationPushVO.setPasts(indicationPushVO.getPasts() + "对" + result.getRuleBaseLibName() + "过敏,");
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.Device.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
- indicationPushVO.setPasts(indicationPushVO.getPasts() + "有" + result.getRuleBaseLibName() + ",");
|
|
|
- }
|
|
|
- } else if (result.getRuleBaseLibType().equals(LexiconEnum.Age.getKey())) {
|
|
|
- if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Compare.getKey())) {
|
|
|
- indicationPushVO.setAge(result.getRuleBaseInputValue());
|
|
|
+
|
|
|
+ //基础规则
|
|
|
+ if (result.getHasSubCond().equals(1)) {
|
|
|
+ if (result.getRuleBaseLibType().equals(LexiconEnum.Disease.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ Item diag = new Item();
|
|
|
+ diag.setName(result.getRuleBaseHisName());
|
|
|
+ diag.setUniqueName(result.getRuleBaseLibName());
|
|
|
+ indicationPushVO.getDiag().add(diag);
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Medicine.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ indicationPushVO.setSymptom(indicationPushVO.getSymptom() +
|
|
|
+ (StringUtil.isNotBlank(result.getRuleBaseHisName())
|
|
|
+ ? ("一直服用" + result.getRuleBaseHisName() + ",")
|
|
|
+ : ""));
|
|
|
+ } else if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Allergen.getKey())) {
|
|
|
+ indicationPushVO.setPasts(indicationPushVO.getPasts() +
|
|
|
+ (StringUtil.isNotBlank(result.getRuleBaseHisName())
|
|
|
+ ? ("对" + result.getRuleBaseHisName() + "过敏,")
|
|
|
+ : ""));
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Symptom.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ indicationPushVO.setSymptom(indicationPushVO.getSymptom() + result.getRuleBaseLibName() + ",");
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Vital.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Compare.getKey())) {
|
|
|
+ indicationPushVO.setVital(result.getRuleBaseLibName() + result.getRuleBaseInputValue()
|
|
|
+ + (StringUtil.isNotBlank(result.getRuleBaseUnit()) ? result.getRuleBaseUnit() : "")
|
|
|
+ + ",");
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.VitalResult.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ indicationPushVO.setVital(result.getRuleBaseLibName() + ",");
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Operation.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ Item operation = new Item();
|
|
|
+ operation.setName(result.getRuleBaseHisName());
|
|
|
+ operation.setUniqueName(result.getRuleBaseLibName());
|
|
|
+ indicationPushVO.getOperation().add(operation);
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.LisSubName.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Compare.getKey())) {
|
|
|
+ Lis lis = new Lis();
|
|
|
+ lis.setName(result.getRuleBaseHisName());
|
|
|
+ lis.setDetailName(result.getRuleBaseHisDetailName());
|
|
|
+ lis.setUniqueName(result.getRuleBaseLibName());
|
|
|
+ lis.setUnits(result.getRuleBaseUnit());
|
|
|
+ Pattern pattern = Pattern.compile("^\\d+(\\.\\d+)?$");
|
|
|
+ if (StringUtil.isNotBlank(result.getRuleBaseInputValue())) {
|
|
|
+ Matcher isNum = pattern.matcher(result.getRuleBaseInputValue());
|
|
|
+ if (isNum.matches()) {
|
|
|
+ lis.setValue(Double.valueOf(result.getRuleBaseInputValue()));
|
|
|
+ } else {
|
|
|
+ lis.setOtherValue(result.getRuleBaseInputValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (result.getRuleBaseMaxValue() != null) {
|
|
|
+ lis.setMaxValue(result.getRuleBaseMaxValue().doubleValue());
|
|
|
+ }
|
|
|
+ if (result.getRuleBaseMinValue() != null) {
|
|
|
+ lis.setMinValue(result.getRuleBaseMinValue().doubleValue());
|
|
|
+ }
|
|
|
+ indicationPushVO.getLis().add(lis);
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.PacsName.getKey())
|
|
|
+ || result.getRuleBaseLibType().equals(LexiconEnum.PacsSubName.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.BillItem.getKey())) {
|
|
|
+ Pacs pacs = new Pacs();
|
|
|
+ pacs.setName(result.getRuleBaseHisName());
|
|
|
+ pacs.setUniqueName(result.getRuleBaseLibName());
|
|
|
+ indicationPushVO.getPacsOrder().add(pacs);
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.PacsResult.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ Pacs pacs = new Pacs();
|
|
|
+ if (result.getRuleType().equals(6)) {
|
|
|
+ pacs.setName(result.getRuleBaseHisName());
|
|
|
+ pacs.setUniqueName(result.getRuleBaseLibName());
|
|
|
+ pacs.setDesc(result.getRuleBaseInputValue());
|
|
|
+ pacs.setResult(result.getRuleBaseInputValue());
|
|
|
+ pacs.setDateValue(lastDate);
|
|
|
+ } else {
|
|
|
+ pacs.setDesc(result.getRuleBaseLibName());
|
|
|
+ pacs.setResult(result.getRuleBaseLibName());
|
|
|
+ }
|
|
|
+ indicationPushVO.getPacs().add(pacs);
|
|
|
+ } else if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Ne.getKey())) {
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Gender.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ if (result.getRuleBaseLibName().equals("男")) {
|
|
|
+ indicationPushVO.setSex(1);
|
|
|
+ } else if (result.getRuleBaseLibName().equals("女")) {
|
|
|
+ indicationPushVO.setSex(2);
|
|
|
+ } else {
|
|
|
+ indicationPushVO.setSex(3);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Group.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ switch (result.getRuleBaseLibName()) {
|
|
|
+ case "新生儿":
|
|
|
+ indicationPushVO.setAge(result.getRuleBaseInputValue());
|
|
|
+ break;
|
|
|
+ case "幼儿":
|
|
|
+ indicationPushVO.setAge(result.getRuleBaseInputValue());
|
|
|
+ break;
|
|
|
+ case "儿童":
|
|
|
+ indicationPushVO.setAge(result.getRuleBaseInputValue());
|
|
|
+ break;
|
|
|
+ case "成人":
|
|
|
+ indicationPushVO.setAge(result.getRuleBaseInputValue());
|
|
|
+ break;
|
|
|
+ case "月经期":
|
|
|
+ indicationPushVO.setSymptom(indicationPushVO.getSymptom() +
|
|
|
+ "月经第" + result.getRuleBaseInputValue() + "天,");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ indicationPushVO.setSymptom(indicationPushVO.getSymptom() +
|
|
|
+ result.getRuleBaseLibName() +
|
|
|
+ (result.getRuleBaseInputValue() != null ? result.getRuleBaseInputValue() : "") +
|
|
|
+ (StringUtil.isNotBlank(result.getRuleBaseUnit()) ? result.getRuleBaseUnit() : "") +
|
|
|
+ ",");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Allergen.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Allergen.getKey())) {
|
|
|
+ indicationPushVO.setPasts(indicationPushVO.getPasts() + "对" + result.getRuleBaseLibName() + "过敏,");
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Device.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ indicationPushVO.setPasts(indicationPushVO.getPasts() + "有" + result.getRuleBaseLibName() + ",");
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Age.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Compare.getKey())) {
|
|
|
+ indicationPushVO.setAge(result.getRuleBaseInputValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return indicationPushVO;
|