java流水号_java自动生成编号的实现(格式:yyMM+四位流水号)

本篇文章主要介绍了java自动生成编号的实现,分享给大家,具体如下

/**

* 自动生成编号格式:yyMM+四位流水号

*/

@RequestMapping(params = "createCode")

@ResponseBody

public AjaxJson createCode(HttpServletRequest request, String tableName,

String fieldName) {

AjaxJson j = new AjaxJson();

String sql = "select Max(a." + fieldName + ") max_code from "

+ tableName + " a ";

List> list = new ArrayList>();

list = jdbcTemplate.queryForList(sql);

// System.out.println("最大编号:"+list.get(0).get("max_comment_code"));

String comment_code = "";

String max_code = "";

if (list.size() > 0) {

max_code = (String) list.get(0).get("max_code");

}

SimpleDateFormat format = new SimpleDateFormat("yyMM"); // 时间字符串产生方式

String uid_pfix = format.format(new Date()); // 组合流水号前一部分,时间字符串,如:1601

System.out.println("time=" + format.format(new Date()));

if (max_code != null && max_code.contains(uid_pfix)) {

String uid_end = max_code.substring(4, 8); // 截取字符串最后四位,结果:0001

// System.out.println("uid_end=" + uid_end);

int endNum = Integer.parseInt(uid_end); // 把String类型的0001转化为int类型的1

// System.out.println("endNum=" + endNum);

int tmpNum = 10000 + endNum + 1; // 结果10002

// System.out.println("tmpNum=" + tmpNum);

comment_code = uid_pfix + UtilMethod.subStr("" + tmpNum, 1);// 把10002首位的1去掉,再拼成1601260002字符串

} else {

comment_code = uid_pfix + "0001";

}

// System.out.println(comment_code);

Map map = new HashMap();

map.put("msg", comment_code);

j.setAttributes(map);

return j;

}

//公共方法

public class UtilMethod {

/*

* 把10002首位的1去掉的实现方法:

* @param str

* @param start

* @return

*/

public static String subStr(String str, int start) {

if (str == null || str.equals("") || str.length() == 0)

return "";

if (start < str.length()) {

return str.substring(start);

} else {

return "";

}

}

}

前端:

//自动生成编号;格式:yyMM0001

function createCode() {

var id = $("[name='id']").val();

// alert(id.length);

if(id.length<=0){

var a="";

$.ajax({

async : false,

cache : false,

type : 'POST',

contentType : 'application/json',

dataType:"json",

url : "Controller.do?createCode&tableName=表名&fieldName=字段名",

error : function() {

alert('出错了');

frameElement.api.close();

},

success : function(data) {

a=data.attributes.msg;

}

});

//alert(a);

$("#check_task_code").val(a);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值