首页 > Web开发 > 详细

java的spring mvc有规则的订单号

时间:2014-02-12 21:16:40      阅读:402      评论:0      收藏:0      [点我收藏+]

终于搞出来了。

public String setOrderId()
{
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd"); //日期格式化
String date =sdf.format(new Date()); //将当天的日期格式化
String orderIdString=""; //返回的序列号
List<Order> order = new ArrayList<Order>(); //按日期排序
order.add(Order.desc("createTime"));
Page page=new Page();
page.setNowPage(1); //获取1条数据
page.setPageSize(1);
MachineOrder machineOrder=getSingle(null,order,page);//取到最新的一条数据
if(order!=null)
{
Calendar current = Calendar.getInstance(); //用来计算的日期
Calendar today = Calendar.getInstance(); //今天
today.set(Calendar.YEAR, current.get(Calendar.YEAR));
today.set(Calendar.MONTH, current.get(Calendar.MONTH));
today.set(Calendar.DAY_OF_MONTH,current.get(Calendar.DAY_OF_MONTH));
// Calendar.HOUR——12小时制的小时数 Calendar.HOUR_OF_DAY——24小时制的小时数
today.set( Calendar.HOUR_OF_DAY, 0);
today.set( Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);
current.setTime(machineOrder.getCreateTime()); //取到的最新那条数据
if(current.after(today)){ //如果最新的数据是今天的
List<Criterion> conditions = new ArrayList<Criterion>();
Date day=null; //存放今天的日期
Date tomorrow=null; //获取明天的日期
try {

day=sdf.parse(date); //转换回来
tomorrow=sdf.parse((ConvertTool.toInt(date)+1)+"");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conditions.add(Restrictions.between("createTime",day,tomorrow)); //根据今天的日期和明天的日期获取当天的数据
int count =getList(conditions, null, null).size(); //取出当天数据的总条数
String sequ = new DecimalFormat("00000").format(count+1); //拼接序号
orderIdString= "PW"+date+sequ; //组装成序列号
}
else {

String sequ = new DecimalFormat("00000").format(1); //如果最新的数据不是当天的数据则序号重排
orderIdString= "PW"+date+sequ; //组装成序列号
}
}
return orderIdString;
}

java的spring mvc有规则的订单号

原文:http://www.cnblogs.com/kings0/p/3545785.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!