/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package util;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* @author qinya
*/
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();
}
}
//使用说明这里面的数据库链接操作部分的代码我就不写了其中 util.dao的findForResultSet方法就是数据库操作查询部分的语句,调用的时候直接用getOrderNo(单据台头,数据库表名,单据编号的字段名),参数对应就可以了。比较实用,我用的 是 001-999做流水号,你还可以自己写条件判断加多几位。呵呵