流水号的工具类

@Component
public class CreateCodeUtil {

    @Resource
    private JdbcTemplate jdbcTemplate;

    public  String createCode(){
        //查询数据库中最大的流水号
        String sql = "select MAX(a.FILE_CODE+0) maxCode FROM t_file_info a";
        List<Map<String,Object>> list;
        //调用templet方法
        list = jdbcTemplate.queryForList(sql);
        String resultCode = "";
        String maxCode = "";
        Object object = list.get(0).get("maxCode");
        if (list.size() > 0 && object!=null) {
            maxCode =  new DecimalFormat("0").format((double)object);
        }
        //指定生成的时间格式
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
        String preCode = simpleDateFormat.format(new Date());
        //若果如果当天有生成的编码,直接在尾号加1;若果没有直接生成新的编码
        if (maxCode!=null&&maxCode.contains(preCode)){
            Integer endCode = Integer.parseInt(maxCode.substring(8));
            //计算结果
            endCode = endCode+10000+1;
            resultCode = preCode+endCode.toString().substring(1);
        }else {
            resultCode = preCode+"0001";
        }
        return resultCode;
    }
}

猜你喜欢

转载自blog.csdn.net/tonglei111/article/details/100763268
今日推荐