프로그래밍/- java

코드 생성 규칙 CodeGenerator

즐겁게 하하하 2022. 5. 12. 14:12
728x90
public class CodeGenerator {
	static DateUtil du = new DateUtil();
	public static String alpha[] = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V"};
	public static String lower_alpha[] = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v"};
	public static int year = Integer.parseInt(du.getYear().substring(2,4))-10;
	public static int month = Integer.parseInt(du.getMonth())-1;
	public static String day = du.getDay();
	public String getDateCode(String type) {
		return type+alpha[year]+alpha[month]+day;
	}
	public String newCompanyCode(int max) {
		String number = Integer.toString(++max);
		if(number.length()==1) number = "000"+number;
		else if(number.length()==2) number = "00"+number;
		else if(number.length()==3) number = "0"+number;
		return "C"+alpha[year]+alpha[month]+day+number;
	}
	
	public String newPartnerCode(int max) {
		String number = Integer.toString(++max);
		if(number.length()==1) number = "000"+number;
		else if(number.length()==2) number = "00"+number;
		else if(number.length()==3) number = "0"+number;
		return "P"+alpha[year]+alpha[month]+day+number;
	}

	public String newBusinessCode(int max) {
		String number = Integer.toString(++max);
		if(number.length()==1) number = "0000"+number;
		else if(number.length()==2) number = "000"+number;
		else if(number.length()==3) number = "00"+number;
		else if(number.length()==4) number = "0"+number;
		return "B"+alpha[year]+alpha[month]+day+number;
	}
	public String newSaleCode(int max) {
		String number = Integer.toString(++max);
		if(number.length()==1) number = "0000"+number;
		else if(number.length()==2) number = "000"+number;
		else if(number.length()==3) number = "00"+number;
		else if(number.length()==4) number = "0"+number;
		return "S"+alpha[year]+alpha[month]+day+number;
	}
	public String newContractCode(int max) {
		String number = Integer.toString(++max);
		if(number.length()==1) number = "0000"+number;
		else if(number.length()==2) number = "000"+number;
		else if(number.length()==3) number = "00"+number;
		else if(number.length()==4) number = "0"+number;
		return "T"+alpha[year]+alpha[month]+day+number;
	}
	
	public String newMaintenanceCode(int max) {
		String number = Integer.toString(++max);
		if(number.length()==1) number = "0000"+number;
		else if(number.length()==2) number = "000"+number;
		else if(number.length()==3) number = "00"+number;
		else if(number.length()==4) number = "0"+number;
		return "M"+alpha[year]+alpha[month]+day+number;
	}
	
	public String newLicenseCode(String product_type) {
		if(product_type.equals("PF")||product_type.equals("PFASP")||product_type.equals("PFSA")){
			char[] charSet = new char[]{'0','1','2','3','4','5','6','7','8','9'}; 
			int idx = 0; 
			StringBuffer sb = new StringBuffer();
			for(int i=0; i<4; i++){ 
				idx = (int)(charSet.length*Math.random());
				sb.append(charSet[idx]);
			} 
			return lower_alpha[year]+lower_alpha[month]+day+sb.toString();
		}else if(product_type.equals("RF")){
			char[] charSet = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; 
			int idx = 0;
			StringBuffer sb = new StringBuffer(); 

			for(int i=0; i<8; i++){ 
				idx = (int)(charSet.length*Math.random());
				sb.append(charSet[idx]);
			}
			return sb.toString();

		} else {
			char[] charSet = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; 
			int idx = 0;
			StringBuffer sb = new StringBuffer(); 

			for(int i=0; i<16; i++){ 
				idx = (int)(charSet.length*Math.random());
				if(i!=0&&i%4==0){
					sb.append("-");
				}
				sb.append(charSet[idx]);
			}
			return sb.toString();
		}
	}
}
728x90