/** * 自制工具类 * @author chenbin on 2017/12/20 * @version 3.0.0 */ public class HzzCodeUtil { /** * 生成流域编码 * @param code 传入数据库中最大一位的流域Code,若无传入"" 或者null 则会从第一位 例如“A”开始生成 * @return 返回生成后的流域编码 */ public static String getBasinCode(String code){ Map<String,String> map = MapFor(); String newCode; if (code == null || code.equals("")){ newCode = map.get("@"); }else { newCode = map.get(code); } return newCode; } /** * 生成水系编码 * @param code 传入数据库中最后一位Code 例如 * 新增水系时查询出所属流域下的水系 最后一位Code传进来 * @return 返回生成后的水系编码 */ public static String getWaterCode(String code){ Map<String,String> map = MapFor(); String newCode; String one = code.substring(0,1); String two = code.substring(1,2); String three = code.substring(2,3); if (three.equals("Y")){ newCode = one + map.get(two) + map.get(three); }else { newCode = one + two + map.get(three); } return newCode; } /** * 生成河流编码 * @param waterCode 传入水系代码 * @param code 传入 subString(3,7)位的河流四位数 * @param CodeType 传入河流类型 * @return 返回生成后的河流编码 */ public static String getRiverCode(String waterCode,String code,String CodeType){ String newCode = waterCode + String.format("%04d",Integer.parseInt(code)+1) + CodeType + "A"; return newCode; } public static void main(String[] args) { } /** * 封装遍历工具类 配合生成流域水系Code使用 * @return 返回一个Map对象 */ public static final Map<String, String> MapFor(){ Map<String ,String > map = new HashMap<>(); for (int i = 64;i<90;i++){ if (i==89){ map.put(String.valueOf((char)i),String.valueOf((char)65)); break; }else if (i==72){ map.put(String.valueOf((char)i),String.valueOf((char)(i+2))); }else if (i==78){ map.put(String.valueOf((char)i),String.valueOf((char)(i+2))); }else if (i==64){ map.put(String.valueOf((char)i),String.valueOf((char)65)); } else { map.put(String.valueOf((char)i),String.valueOf((char)(i+1))); } } return map; } }
Java 自制流域、水系、河流编码生成工具类
最新推荐文章于 2024-04-09 00:56:43 发布