首先设置一个静态的变量
成都创新互联是一家专注于成都做网站、网站制作与策划设计,定日网站建设哪家好?成都创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:定日等地区。定日做网站价格咨询:18982081108
然后设置id变量
然后在构造方法在让这个静态变量自曾 然后把这个静态变量的值赋给id变量 这样每一个新员工都会有一个自己员工号
class Employee{
private String number;
private String name;
private String birthday;
private int ID;
static int IDnumber;
public Employee(String number,String name,String birthday){
this.setNumber(number);
this.setName(name);
this.setBirthday(birthday);
IDnumber++;
ID=IDnumber;
}
public void setNumber(String number){
this.number=number;
}
public String getNumber(){
return number;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setBirthday(String birthday){
this.birthday=birthday;
}
public String getBirthday(){
return birthday;
}
}
这个需要配合查数据库才行,具体方案:
Date date=new Date();
DateFormat format=new SimpleDateFormat("yyyyMMdd");
String timeStr=format.format(date);
//使用以上代码先获取当天日期串
String ckbh = “”;
int count = 这个值你需要通过当天时间去查 库存表中有多少条数据;
String strcount = count + ""; //这里是把查出来的int值转成string用于判断count的长度
//开始拼接
if(strcount.length == 1 ){
int aa = count +1; //这个是按顺序递增1
String straa = aa+"";//int转string
strcount += "000"+straa ;
}
if(strcount.length == 2 ){
int bb= count +1; //这个是按顺序递增1
String strbb = bb+"";//int转string
strcount += "00"+strbb ;
}
if(strcount.length == 3 ){
int cc= count +1; //这个是按顺序递增1
String strcc = cc+"";//int转string
strcount += "0"+strcc;
}
if(strcount.length == 4 ){
int dd= count +1; //这个是按顺序递增1
String strdd = dd+"";//int转string
strcount += strdd;
}
ckbh = “CK”+ timeStr+strcount ;
return ckbh;
差不多就是这样,纯手动,有点累,方法虽然麻烦,但是能解决你的问题。把上面的代码写成一个返回string的方法,返回这个ckbh就行
/**
* 得到一个新的订单代码
* 说明,此函数还没有进行过多线程测试,更新数据库时未加锁
* @return 新的订单代码
*/
public String getOrderCode(){
//getParameter这个方法就是从数据库取2个参数的值 ORDER_CODE_DATE 和
//ORDER_CODE_NO是数据库字段名
BasParameters orderCodeDate = getParameter(ORDER_CODE_DATE);
BasParameters orderCodeNo = getParameter(ORDER_CODE_NO);
//当前日期
String currDate=new SimpleDateFormat("yyyyMMdd").format(new Date(System.currentTimeMillis()));
//每天的起始数
int orderNo = 100;
//表里存的日期和当前日期相同,顺序号累加
if (currDate.equals(orderCodeDate.getValue())){
orderCodeNo.setValue(""+(Integer.parseInt(orderCodeNo.getValue())+1));
orderNo = (Integer.parseInt(orderCodeNo.getValue()));
//save 就是保存ORDER_CODE_DATE 和 ORDER_CODE_NO当前值到数据库
save(orderCodeNo);
} else {
//表里存的日期和当前日期不同,顺序号重新开始,更新参数表的日期
orderCodeDate.setValue(currDate);
save(orderCodeDate);
orderCodeNo.setValue(orderNo);
save(orderCodeNo);
}
return currDate + new DecimalFormat("000000").format(orderNo);
}
JAVA类库中可以使用UUID方法,来生成唯一的数字的一串数字编号,也就是订单号。
UUID.randomUUID().toString().replaceAll("-", "");通过上述方法就可以返回一串数字字符串。
private static int m=1;//全局静态变量,(必须static修饰)每调用一次方法自增1
public String add(){
addin(m);
return "addTiao";
}
public void addin(int a){
String str1="A";
Date date=new Date();
String str2=new SimpleDateFormat("yyyyMMdd"). format(date);//自动生成日期
int datee=Integer.parseInt(str2);
inlist=instockService.getInListDown();//按降幂排序
instockEntity=(InstockEntity) inlist.get(0);
String ss=instockEntity.getInstock_number();//得到最大日期
if(ss!=null){
String riqi=ss.substring(1, 9);
int riqi1=Integer.parseInt(riqi);
if(dateeriqi1){
a=1;//如果日期变大则初始化订单号
}
}
String str3=null;
if(a=0a=9){
str3="00"+String.valueOf(a);
}else if(a=10a=99){
str3="0"+String.valueOf(a);
}else if(a=100a=999){
str3=String.valueOf(a);
}
String instock_number=str1+str2+str3;
instockEntity.setInstock_number(instock_number);
instockService.add(instockEntity);
m=a+1;
}