|
@@ -65,70 +65,36 @@ public class EvaluatorFacade extends EvaluatorServiceImpl {
|
|
|
List<PhysicalVal> list = this.valueSort(evaluator);
|
|
|
Double max = list.get(0).getValue();
|
|
|
Double min = list.get(4).getValue();
|
|
|
- /**
|
|
|
- * 判断平和质:
|
|
|
- * 平和质转化分≥60分,同时其他5种体质转化分均<30分,判断结果:“平和质”。
|
|
|
- * 平和质转化分≥60分,同时其他5种体质转化分均<50分,判断结果:“基本是平和质”。
|
|
|
- * 平和质转化分≥60分,同时其他5种体质转化分有30-49分,判断结果:“基本是平和质兼倾向XX体质”。
|
|
|
- * 不满足上述条件,判断结果:否。
|
|
|
- */
|
|
|
- // 平和质转化分≥60分
|
|
|
- if (evaluator.getMildValue().doubleValue() >= 60.0) {
|
|
|
- if (max < 30) {
|
|
|
- // 同时其他5种体质转化分均<30分, max[2/3/4/5/6] < 30
|
|
|
- evaluator.setPhysicalRes("平和体质");
|
|
|
- evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()));
|
|
|
- } else if (max < 50 && min >= 30) {
|
|
|
- // 同时其他5种体质转化分均<50分,min[2/3/4/5/6] >= 30 and max[2/3/4/5/6] < 50
|
|
|
- evaluator.setPhysicalRes("基本是平和体质");
|
|
|
- evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()));
|
|
|
- } else if (max < 50 && max >= 30 && min < 30) {
|
|
|
- // 同时其他5种体质转化分有30-49分,max[2/3/4/5/6] < 50 and max[2/3/4/5/6] >= 30 and min[2/3/4/5/6] < 30
|
|
|
- evaluator.setPhysicalRes("基本是平和体质兼倾向" + PhysicalTypeEnum.getName(list.get(0).getEnumNo()));
|
|
|
- evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()) + "," + list.get(0).getEnumNo());
|
|
|
- } else if (max >= 50) {
|
|
|
- // 同时其他5种体质转化分有>=50分, max[2/3/4/5/6] >= 50
|
|
|
- String msg = "";
|
|
|
- String type = "";
|
|
|
- if (evaluator.getMildValue().doubleValue() > max) {
|
|
|
- msg = "是平和体质";
|
|
|
- type = String.valueOf(PhysicalTypeEnum.mild.getKey());
|
|
|
- } else if (evaluator.getMildValue().doubleValue() == max) {
|
|
|
- msg = "是平和体质兼有" + PhysicalTypeEnum.getName(list.get(0).getEnumNo());
|
|
|
- type = String.valueOf(PhysicalTypeEnum.mild.getKey()) + "," + list.get(0).getEnumNo();
|
|
|
- } else {
|
|
|
- if ((list.get(0).getValue() == list.get(1).getValue()) || (list.get(1).getValue() > 50)) {
|
|
|
- msg = "是" + PhysicalTypeEnum.getName(list.get(0).getEnumNo()) + "兼有" + PhysicalTypeEnum.getName(list.get(1).getEnumNo());
|
|
|
- type = list.get(0).getEnumNo() + "," + list.get(1).getEnumNo();
|
|
|
- } else {
|
|
|
- msg = "是" + PhysicalTypeEnum.getName(list.get(0).getEnumNo());
|
|
|
- type = "" + list.get(0).getEnumNo();
|
|
|
- }
|
|
|
- }
|
|
|
- evaluator.setPhysicalRes(msg);
|
|
|
- evaluator.setPhysicalTypes(type);
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- /**
|
|
|
- * 判断偏颇体质:
|
|
|
- * 转化分≥50分,判断结果:是XX体质。
|
|
|
- * 转化分30-49分,判断结果:倾向XX体质。
|
|
|
- * 转化分<30分,判断结果:否。
|
|
|
- * 结论:按照偏颇体质得分高低顺序排序,得分最高的为主要偏颇体质,结论按此体质显示,并在结果中按分值顺序提选兼有体质。
|
|
|
- * 首先判定5种偏颇体质得分是否均大于或等于≧50分。
|
|
|
- * 有一个或多个大于等于50分的情况,按照偏颇体质选择分值最大的为偏颇体质,排名第二的为兼有体质,其余的不考虑;如果得分排名第一的有两个或以上,则按照自然顺序将第一个列为主要偏颇体质,第二个列为兼有体质,其余的不予考虑。
|
|
|
- * 如出现得分一样的两种偏颇体质,则按照5种偏颇体质的排列顺序为:气虚质、积滞质、湿滞质、心火偏旺质、异禀质,
|
|
|
- * 5种全部小于<30分的情况,按照平和质判定条件执行。
|
|
|
- * 平和质转化分<60分,同时其他6种体质转化分30-49分,判断结果:倾向是XX体质。如果有两种或以上的得分一样,则按照6种偏颇体质的排列顺序为:气虚质、积滞质、湿滞质、心肝火旺质、异禀质,判断结果:“倾向是XX体质兼XX体质”,其余不考虑。如果等分倾向是体质有3个或以上,则仅选择分值最高的前两个,判断结果:“倾向是XX体质兼XX体质”,其余不考虑。
|
|
|
- * 注意:有偏颇体质的不再考虑倾向体质。
|
|
|
- */
|
|
|
- else if (evaluator.getMildValue().doubleValue() < 60.0) {
|
|
|
- if (max < 30) { // max[2/3/4/5/6] < 30
|
|
|
- evaluator.setPhysicalRes("平和体质");
|
|
|
- evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()));
|
|
|
- } else if (max < 50 && max >= 30) { // min[2/3/4/5/6] >= 30 and max[2/3/4/5/6] < 50
|
|
|
- // 最大值有多个【倾向XX体质兼有XX体质】, 最大值只有1个【倾向XX体质】
|
|
|
+ if (max >= 50) {
|
|
|
+ // 最大值有多个【是XX体质兼有XX体质】,最大值只有1个【是XX体质】
|
|
|
+ if ((list.get(0).getValue() == list.get(1).getValue()) || (list.get(1).getValue() > 50)) {
|
|
|
+ evaluator.setPhysicalRes("是" +
|
|
|
+ PhysicalTypeEnum.getName(list.get(0).getEnumNo())
|
|
|
+ + "兼有" +
|
|
|
+ PhysicalTypeEnum.getName(list.get(1).getEnumNo()));
|
|
|
+ evaluator.setPhysicalTypes("" + list.get(0).getEnumNo() + "," + list.get(1).getEnumNo());
|
|
|
+ } else {
|
|
|
+ evaluator.setPhysicalRes("是" +
|
|
|
+ PhysicalTypeEnum.getName(list.get(0).getEnumNo()));
|
|
|
+ evaluator.setPhysicalTypes("" + list.get(0).getEnumNo());
|
|
|
+ }
|
|
|
+ } else if (max < 30) {
|
|
|
+ // 同时其他5种体质转化分均<30分, max[2/3/4/5/6] < 30
|
|
|
+ evaluator.setPhysicalRes("平和体质");
|
|
|
+ evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()));
|
|
|
+ } else {
|
|
|
+ if (evaluator.getMildValue().doubleValue() >= 60.0) {
|
|
|
+ if (max < 50 && min >= 30) {
|
|
|
+ // 同时其他5种体质转化分均<50分,min[2/3/4/5/6] >= 30 and max[2/3/4/5/6] < 50
|
|
|
+ evaluator.setPhysicalRes("基本是平和体质");
|
|
|
+ evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()));
|
|
|
+ } else if (max < 50 && max >= 30 && min < 30) {
|
|
|
+ // 同时其他5种体质转化分有30-49分,max[2/3/4/5/6] < 50 and max[2/3/4/5/6] >= 30 and min[2/3/4/5/6] < 30
|
|
|
+ evaluator.setPhysicalRes("基本是平和体质兼倾向" + PhysicalTypeEnum.getName(list.get(0).getEnumNo()));
|
|
|
+ evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()) + "," + list.get(0).getEnumNo());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
if (list.get(0).getValue() == list.get(1).getValue()) {
|
|
|
evaluator.setPhysicalRes(
|
|
|
"倾向是" +
|
|
@@ -141,21 +107,87 @@ public class EvaluatorFacade extends EvaluatorServiceImpl {
|
|
|
PhysicalTypeEnum.getName(list.get(0).getEnumNo()));
|
|
|
evaluator.setPhysicalTypes("" + list.get(0).getEnumNo());
|
|
|
}
|
|
|
- } else if (max >= 50) { // max[2/3/4/5/6] >= 50
|
|
|
- // 最大值有多个【是XX体质兼有XX体质】,最大值只有1个【是XX体质】
|
|
|
- if ((list.get(0).getValue() == list.get(1).getValue()) || (list.get(1).getValue() > 50)) {
|
|
|
- evaluator.setPhysicalRes("是" +
|
|
|
- PhysicalTypeEnum.getName(list.get(0).getEnumNo())
|
|
|
- + "兼有" +
|
|
|
- PhysicalTypeEnum.getName(list.get(1).getEnumNo()));
|
|
|
- evaluator.setPhysicalTypes("" + list.get(0).getEnumNo() + "," + list.get(1).getEnumNo());
|
|
|
- } else {
|
|
|
- evaluator.setPhysicalRes("是" +
|
|
|
- PhysicalTypeEnum.getName(list.get(0).getEnumNo()));
|
|
|
- evaluator.setPhysicalTypes("" + list.get(0).getEnumNo());
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
+// /**
|
|
|
+// * 判断平和质:
|
|
|
+// * 平和质转化分≥60分,同时其他5种体质转化分均<30分,判断结果:“平和质”。
|
|
|
+// * 平和质转化分≥60分,同时其他5种体质转化分均<50分,判断结果:“基本是平和质”。
|
|
|
+// * 平和质转化分≥60分,同时其他5种体质转化分有30-49分,判断结果:“基本是平和质兼倾向XX体质”。
|
|
|
+// * 不满足上述条件,判断结果:否。
|
|
|
+// */
|
|
|
+// // 平和质转化分≥60分
|
|
|
+// if (evaluator.getMildValue().doubleValue() >= 60.0) {
|
|
|
+// if (max < 30) {
|
|
|
+// // 同时其他5种体质转化分均<30分, max[2/3/4/5/6] < 30
|
|
|
+// evaluator.setPhysicalRes("平和体质");
|
|
|
+// evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()));
|
|
|
+// } else if (max < 50 && min >= 30) {
|
|
|
+// // 同时其他5种体质转化分均<50分,min[2/3/4/5/6] >= 30 and max[2/3/4/5/6] < 50
|
|
|
+// evaluator.setPhysicalRes("基本是平和体质");
|
|
|
+// evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()));
|
|
|
+// } else if (max < 50 && max >= 30 && min < 30) {
|
|
|
+// // 同时其他5种体质转化分有30-49分,max[2/3/4/5/6] < 50 and max[2/3/4/5/6] >= 30 and min[2/3/4/5/6] < 30
|
|
|
+// evaluator.setPhysicalRes("基本是平和体质兼倾向" + PhysicalTypeEnum.getName(list.get(0).getEnumNo()));
|
|
|
+// evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()) + "," + list.get(0).getEnumNo());
|
|
|
+// } else if (max >= 50) {
|
|
|
+// // 同时其他5种体质转化分有>=50分, max[2/3/4/5/6] >= 50
|
|
|
+// if ((list.get(0).getValue() == list.get(1).getValue()) || (list.get(1).getValue() > 50)) {
|
|
|
+// evaluator.setPhysicalRes("是" + PhysicalTypeEnum.getName(list.get(0).getEnumNo()) + "兼有" + PhysicalTypeEnum.getName(list.get(1).getEnumNo()));
|
|
|
+// evaluator.setPhysicalTypes(list.get(0).getEnumNo() + "," + list.get(1).getEnumNo());
|
|
|
+// } else {
|
|
|
+// evaluator.setPhysicalRes("是" + PhysicalTypeEnum.getName(list.get(0).getEnumNo()));
|
|
|
+// evaluator.setPhysicalTypes("" + list.get(0).getEnumNo());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 判断偏颇体质:
|
|
|
+// * 转化分≥50分,判断结果:是XX体质。
|
|
|
+// * 转化分30-49分,判断结果:倾向XX体质。
|
|
|
+// * 转化分<30分,判断结果:否。
|
|
|
+// * 结论:按照偏颇体质得分高低顺序排序,得分最高的为主要偏颇体质,结论按此体质显示,并在结果中按分值顺序提选兼有体质。
|
|
|
+// * 首先判定5种偏颇体质得分是否均大于或等于≧50分。
|
|
|
+// * 有一个或多个大于等于50分的情况,按照偏颇体质选择分值最大的为偏颇体质,排名第二的为兼有体质,其余的不考虑;如果得分排名第一的有两个或以上,则按照自然顺序将第一个列为主要偏颇体质,第二个列为兼有体质,其余的不予考虑。
|
|
|
+// * 如出现得分一样的两种偏颇体质,则按照5种偏颇体质的排列顺序为:气虚质、积滞质、湿滞质、心火偏旺质、异禀质,
|
|
|
+// * 5种全部小于<30分的情况,按照平和质判定条件执行。
|
|
|
+// * 平和质转化分<60分,同时其他6种体质转化分30-49分,判断结果:倾向是XX体质。如果有两种或以上的得分一样,则按照6种偏颇体质的排列顺序为:气虚质、积滞质、湿滞质、心肝火旺质、异禀质,判断结果:“倾向是XX体质兼XX体质”,其余不考虑。如果等分倾向是体质有3个或以上,则仅选择分值最高的前两个,判断结果:“倾向是XX体质兼XX体质”,其余不考虑。
|
|
|
+// * 注意:有偏颇体质的不再考虑倾向体质。
|
|
|
+// */
|
|
|
+// else if (evaluator.getMildValue().doubleValue() < 60.0) {
|
|
|
+// if (max < 30) { // max[2/3/4/5/6] < 30
|
|
|
+// evaluator.setPhysicalRes("平和体质");
|
|
|
+// evaluator.setPhysicalTypes(String.valueOf(PhysicalTypeEnum.mild.getKey()));
|
|
|
+// } else if (max < 50 && max >= 30) { // min[2/3/4/5/6] >= 30 and max[2/3/4/5/6] < 50
|
|
|
+// // 最大值有多个【倾向XX体质兼有XX体质】, 最大值只有1个【倾向XX体质】
|
|
|
+// if (list.get(0).getValue() == list.get(1).getValue()) {
|
|
|
+// evaluator.setPhysicalRes(
|
|
|
+// "倾向是" +
|
|
|
+// PhysicalTypeEnum.getName(list.get(0).getEnumNo())
|
|
|
+// + "兼有" +
|
|
|
+// PhysicalTypeEnum.getName(list.get(1).getEnumNo()));
|
|
|
+// evaluator.setPhysicalTypes("" + list.get(0).getEnumNo() + "," + list.get(1).getEnumNo());
|
|
|
+// } else {
|
|
|
+// evaluator.setPhysicalRes("倾向是" +
|
|
|
+// PhysicalTypeEnum.getName(list.get(0).getEnumNo()));
|
|
|
+// evaluator.setPhysicalTypes("" + list.get(0).getEnumNo());
|
|
|
+// }
|
|
|
+// } else if (max >= 50) { // max[2/3/4/5/6] >= 50
|
|
|
+// // 最大值有多个【是XX体质兼有XX体质】,最大值只有1个【是XX体质】
|
|
|
+// if ((list.get(0).getValue() == list.get(1).getValue()) || (list.get(1).getValue() > 50)) {
|
|
|
+// evaluator.setPhysicalRes("是" +
|
|
|
+// PhysicalTypeEnum.getName(list.get(0).getEnumNo())
|
|
|
+// + "兼有" +
|
|
|
+// PhysicalTypeEnum.getName(list.get(1).getEnumNo()));
|
|
|
+// evaluator.setPhysicalTypes("" + list.get(0).getEnumNo() + "," + list.get(1).getEnumNo());
|
|
|
+// } else {
|
|
|
+// evaluator.setPhysicalRes("是" +
|
|
|
+// PhysicalTypeEnum.getName(list.get(0).getEnumNo()));
|
|
|
+// evaluator.setPhysicalTypes("" + list.get(0).getEnumNo());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
return evaluator;
|
|
|
}
|
|
|
|