import java.text.SimpleDateFormat;
import java.util.Date;
/**
* <pre>
* 生成表单号类
* </pre>
*
* @author
* @version 1.0.0
*/
public class CreateApplicationNumber {
public static void main(String[] args) {
System.out.println(createApplicationNumber());// 调用生成表单号方法并输出
}
/**
* 生成表单号方法
*
* @return 处理结果
* @throws Exception
*/
public static long createApplicationNumber() {
String STR_3 = "3";// 定义字符串3
String STR_0001 = "0001";// 定义字符串0001
long newId = 0;// 新生成的表单号
/* 第一个数字代表类型, 比如:1代表学生,2代表军人,3代表工人,以此类推。后四位为流水号,中间6位为年月日 */
long oldId = Long.valueOf("31301060001");// 上一个表单号,若为查询DB,则为查询DB中最大的值
Date date = new Date();// 获取当前时间
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
String newTime = sdf.format(date);// 当前时间的日期段
String oldTime = String.valueOf(oldId).substring(1, 7);// 截取上一个表单号中的日期段
if (oldTime.equals(newTime)) {
newId = oldId + 1;// 上一个表单号中的日期段与当前时间日期段比较,如果相等的话,加1
} else {
newId = Long.valueOf(STR_3 + newTime + STR_0001);// 否则从0001开始
}
return newId;
}
}
生成表单号
最新推荐文章于 2024-08-20 13:28:50 发布