|
@@ -19,7 +19,6 @@ import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.lang.reflect.Field;
|
|
|
-import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
@@ -680,69 +679,6 @@ public class CoreUtil {
|
|
|
debugMap.put(msg, error);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 年龄字符串转换成double类型
|
|
|
- *
|
|
|
- * @param ageStr
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static Double convertAge(String ageStr) {
|
|
|
- try {
|
|
|
- // 防止程序出错
|
|
|
- if (StringUtil.isEmpty(ageStr)) {
|
|
|
- return 20.0;
|
|
|
- }
|
|
|
- // 数值,当成年龄处理
|
|
|
- if (isNumbers(ageStr)) {
|
|
|
- return Double.parseDouble(ageStr);
|
|
|
- }
|
|
|
- // 20日
|
|
|
- if (ageStr.endsWith("日")) {
|
|
|
- return getHalfUp((Double.parseDouble(ageStr.substring(0, ageStr.length() - 1))) / 365);
|
|
|
- }
|
|
|
- // 3岁
|
|
|
- if (ageStr.endsWith("岁")) {
|
|
|
- return Double.parseDouble(ageStr.substring(0, ageStr.length() - 1));
|
|
|
- }
|
|
|
- // 3岁7个月 | 3岁7月
|
|
|
- if (ageSuiYue(ageStr)) {
|
|
|
- String[] ageArr = new String[2];
|
|
|
- int indexSui = ageStr.indexOf("岁");
|
|
|
- ageArr[0] = ageStr.substring(0, indexSui);
|
|
|
- if (ageStr.indexOf("个月") > -1) { // 3岁7个月
|
|
|
- ageArr[1] = ageStr.substring(indexSui + 1, ageStr.indexOf("个月"));
|
|
|
- } else { // 3岁7月
|
|
|
- ageArr[1] = ageStr.substring(indexSui + 1, ageStr.indexOf("月"));
|
|
|
- }
|
|
|
- return Double.parseDouble(ageArr[0]) + getHalfUp(Double.parseDouble(ageArr[1]) / 12);
|
|
|
- }
|
|
|
- // 1.08月 | .11月 | 3月
|
|
|
- if (ageYue(ageStr)) {
|
|
|
- String noUnit = ageStr.substring(0, ageStr.length() - 1);
|
|
|
- String[] ageArr = new String[2];
|
|
|
- String[] splitArr = noUnit.split("\\.");
|
|
|
- if (splitArr.length == 1) {
|
|
|
- ageArr[0] = splitArr[0];
|
|
|
- } else if (splitArr.length == 2) {
|
|
|
- ageArr[0] = splitArr[0];
|
|
|
- ageArr[1] = splitArr[1];
|
|
|
- }
|
|
|
- Double daySum = 0.0D;
|
|
|
- if (StringUtil.isNotBlank(ageArr[0])) {
|
|
|
- daySum += Double.parseDouble(ageArr[0]) * 30;
|
|
|
- }
|
|
|
- if (StringUtil.isNotBlank(ageArr[1])) {
|
|
|
- daySum += Double.parseDouble(ageArr[1]);
|
|
|
- }
|
|
|
- return getHalfUp(daySum / 365);
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- return 20.0;
|
|
|
- }
|
|
|
- return 20.0;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 判断字符串是否 仅 包含数字
|
|
|
*
|
|
@@ -765,40 +701,6 @@ public class CoreUtil {
|
|
|
return str.matches(regex);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /**
|
|
|
- * 判断年龄字符串:xx月
|
|
|
- *
|
|
|
- * @param str
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static boolean ageYue(String str) {
|
|
|
- String regex = "^[0-9]*[\\.]*[0-9]{1,2}月$";
|
|
|
- return str.matches(regex);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 判断年龄字符串:3岁7个月
|
|
|
- *
|
|
|
- * @param str
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static boolean ageSuiYue(String str) {
|
|
|
- String regex = "^[0-9]{1,3}岁[0-9]{1,2}个{0,1}月$";
|
|
|
- return str.matches(regex);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 四舍五入保留2位小数
|
|
|
- *
|
|
|
- * @param ageStr
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static Double getHalfUp(Double ageStr) {
|
|
|
- BigDecimal bg = new BigDecimal(String.valueOf(ageStr));
|
|
|
- return bg.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 替换首位的标点符号(例如:既往史提取“铁)
|
|
|
*
|