java自動生成編號的實現(xiàn)(格式:yyMM+四位流水號)
更新時間:2019年10月27日 10:46:59 作者:hj_西門吹雪
這篇文章主要介紹了java自動生成編號的實現(xiàn)(格式:yyMM+四位流水號),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
本篇文章主要介紹了java自動生成編號的實現(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去掉的實現(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項目打包發(fā)布到外部tomcat(出現(xiàn)各種異常的解決)
這篇文章主要介紹了SpringBoot項目打包發(fā)布到外部tomcat(出現(xiàn)各種異常的解決),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Java中Scanner的常用方法總結(jié)(一次學(xué)懂)
這篇文章主要給大家介紹了關(guān)于Java中Scanner常用方法的相關(guān)資料,Java中的Scanner是一個用于讀取用戶輸入的類,它可以讀取各種類型的數(shù)據(jù),包括整數(shù)、浮點數(shù)、字符串等等,需要的朋友可以參考下2023-11-11
解決執(zhí)行maven命令時提示Process terminated的問題
這篇文章主要介紹了解決執(zhí)行maven命令時提示Process terminated的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
關(guān)于java.math.BigDecimal比較大小問題
這篇文章主要介紹了關(guān)于java.math.BigDecimal比較大小問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07

