package com.ho.common.tools.util;

/**
 * 编码工具类
 */
public class CodeUtil {
    //部门编号前缀
    public static final String DEPT_PREFIX = "DEP";
    //自动生成的角色编号前缀
    public static final String AUTO_ROLE_PREFIX = "AUTO_ROLE";
    //工单前缀
    public static final String WORK_ORDER_PREFIX = "GD" ;
    //电价前缀
    public static final String PRICE_TEMPLATE_PREFIX = "PT" ;

    /**
     * 右补位，左对齐
     *
     * @param len    目标字符串长度
     * @param alexin 补位字符
     * @return 目标字符串
     * 以alexin 做为补位
     * @pparam oriStr  原字符串
     */
    public static String padRight(String oriStr, int len, String alexin) {
        String str = "";
        int strlen = oriStr.length();
        if (strlen < len) {
            for (int i = 0; i < len - strlen; i++) {
                str = str + alexin;
            }
        }
        str = str + oriStr;
        return str;
    }

    /**
     * 获取机构编码 DEP0001
     * @param prefix 前缀
     * @param oriStr 初始值
     * @param len    位数
     * @param alexin 不足 以什么补充
     * @return java.lang.String
     * @throws
     */
    public static String getCode(String prefix, String oriStr, int len, String alexin) {
        return prefix + padRight(oriStr, len, alexin);
    }

}
