java自動生成編號的實(shí)現(xiàn)(格式:yyMM+四位流水號)
更新時間:2019年10月27日 10:46:59 作者:hj_西門吹雪
這篇文章主要介紹了java自動生成編號的實(shí)現(xiàn)(格式:yyMM+四位流水號),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
本篇文章主要介紹了java自動生成編號的實(shí)現(xiàn),分享給大家,具體如下
/**
* 自動生成編號格式: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<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
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"); // 時間字符串產(chǎn)生方式
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); // 截取字符串最后四位,結(jié)果:0001
// System.out.println("uid_end=" + uid_end);
int endNum = Integer.parseInt(uid_end); // 把String類型的0001轉(zhuǎn)化為int類型的1
// System.out.println("endNum=" + endNum);
int tmpNum = 10000 + endNum + 1; // 結(jié)果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<String, Object> map = new HashMap<String, Object>();
map.put("msg", comment_code);
j.setAttributes(map);
return j;
}
//公共方法
public class UtilMethod {
/*
* 把10002首位的1去掉的實(shí)現(xiàn)方法:
* @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);
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot+WebSocket實(shí)現(xiàn)消息推送功能
WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議。本文將通過SpringBoot集成WebSocket實(shí)現(xiàn)消息推送功能,感興趣的可以了解一下2022-08-08
把Java程序轉(zhuǎn)換成exe,可直接運(yùn)行的實(shí)現(xiàn)
這篇文章主要介紹了把Java程序轉(zhuǎn)換成exe,可直接運(yùn)行的實(shí)現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
logback和log4j日志框架堆棧信息添加TraceId方式
這篇文章主要介紹了logback和log4j日志框架堆棧信息添加TraceId方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
Spring如何配置文件動態(tài)讀取pom.xml中的屬性
在項(xiàng)目開發(fā)中,經(jīng)常需要將pom.xml中的屬性動態(tài)傳遞給Spring配置文件,實(shí)現(xiàn)這一需求,可通過Maven的資源過濾功能,配置占位符替換,具體方法包括:在pom.xml中啟用filtering,然后在Spring配置文件中通過${property}方式引用屬性2024-10-10

