【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《JAVA 自动生成单据编号的代码很实用带数据库字段判断》,欢迎阅读!
/*
* To change this template, choose Tools | Templates * and open the template in the editor. */
package dataFound;
import java.sql.SQLException;
import java.text.SimpleDateFormat; import java.util.Date;
/** *
* @author sunnywfg */
public class makeoderNO { //QX100731000008
public static String getOrderNo(String getUserId, String Tbname, String Filedname) throws SQLException { long No = 0;
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); String nowdate = sdf.format(new Date());
No = Long.parseLong(nowdate); //* 1000;//这里如果一天订单多的话可以用一万或更大
int usedqty = getNo(Tbname, Filedname, getUserId + No); String getNo = "";
if (String.valueOf(usedqty+1).length() == 1) { getNo = "00" + String.valueOf(usedqty+1); }
if (String.valueOf(usedqty+1).length() == 2) { getNo = "0" + String.valueOf(usedqty+1); }
if (String.valueOf(usedqty+1).length() == 3) { getNo = String.valueOf(usedqty+1); }
String getOrder = getUserId + No + getNo; return getOrder; }
public static int getNo(String Tbname, String Filedname, String NewNo) throws SQLException {//返回当天的订单数+1
dataFound.dao Getdao = new dataFound.dao();
Getdao.findForResultSet("select * from '" + Tbname + "'where '"+ Filedname +'" like '"+ NewNo +"%' "); Getdao.rs.last();
return Getdao.rs.getRow();
} }
//使用说明这里面的数据库链接操作部分的代码我就不写了其中 dataFound.dao的findForResultSet方法就是数据库操作查询部分的语句,调用的时候直接用getOrderNo(单据台头,数据库表名,单据编号的字段名),参数对应就可以了。比较实用,我用的 是 001-999做流水号,你还可以自己写条件判断加多几位。呵呵
本文来源:https://www.wddqxz.cn/ad6d9b0316fc700abb68fc5c.html