zjh
2024-12-03 06ef175a1e9f72b3863757319b2f6ff76c5a2f05
ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java
@@ -2,6 +2,7 @@
import com.ltkj.common.utils.StringUtils;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Collections;
import java.util.HashMap;
@@ -211,9 +212,9 @@
        if (matches && idCardBuilder.length() == SECOND_ID_CARD_LENGTH) {
            int index = getIdCardCheckIndex(idCardBuilder);
            // 获取传入身份证的检验码
            //String check = String.valueOf(idCardBuilder.charAt(idCardBuilder.length() - 1));
            String check = String.valueOf(idCardBuilder.charAt(idCardBuilder.length() - 1));
            // 检验码校验
            //return StringUtils.equalsIgnoreCase(CHECK_INDEX[index], check);
            return StringUtils.equalsIgnoreCase(CHECK_INDEX[index], check);
        }
        return matches;
    }
@@ -311,7 +312,7 @@
    /**
     * @desc 计算出校验码所在校验码数组的下标值
     */
    private static int getIdCardCheckIndex(StringBuilder idCardBuilder) {
    public static int getIdCardCheckIndex(StringBuilder idCardBuilder) {
        // 判断传入的是17位还是18位身份证号
        int length = idCardBuilder.length() == SECOND_ID_CARD_LENGTH ? idCardBuilder.length() - 1 : idCardBuilder.length();
        // 计算出校验码
@@ -365,6 +366,34 @@
            nativePlace += quxian;
        }
        return nativePlace;
    }
    /**
     *  将excel表中科学计数格式的手机号转成字符串形式
     * @param  number
     * @return
     */
    public static String translateToPlainStr(String number) {
        if (null == number || number.trim().length() == 0) {
            return number;
        }
        String regEx="^([\\+|-]?\\d+(.{0}|.\\d+))[Ee]{1}([\\+|-]?\\d+)$";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regEx);
        // 忽略大小写的写法
        // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(number);
        // 字符串是否与正则表达式相匹配
        boolean rs = matcher.matches();
        // 判断是否为字符串的科学计数法
        if(rs){
            // 科学计数法转数字
            BigDecimal originValue = new BigDecimal(number);
//            System.out.println("手机号为 ==> " + originValue.toPlainString());
            // 数字转字符串
            return originValue.toPlainString();
        }
        return number;
    }
    private static String getNameString(int code) {
@@ -7489,4 +7518,32 @@
        }
        return realname;
    }
    /**
     * 根据时间段判断上午还是下午
     *
     * @param timeSlot
     * @return
     */
//    public static String getMorA(String timeSlot){
//        String reg="";
//        switch (timeSlot){
//            case "1":
//            case "2":
//            case "3":
//            case "4":
//                reg="上午";
//                break;
//
//            case "5":
//            case "6":
//            case "7":
//                reg="下午";
//                break;
//
//            default:break;
//        }
//
//        return reg;
//    }
}