生成表单号

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;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值