|
|
|
@ -5,9 +5,12 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import java.text.MessageFormat;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.Calendar;
|
|
|
|
|
import java.util.Locale;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Description : 单号生成工具类
|
|
|
|
@ -30,15 +33,17 @@ public class OrderNoMakeUtil {
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String[] dateTime = new SimpleDateFormat("yyyy-yy-MM-dd-HH-mm-ss").format(System.currentTimeMillis()).split("-");
|
|
|
|
|
StringBuilder orderNo = new StringBuilder(orderNoRule.getOrderNoRule());
|
|
|
|
|
String[] dateTime = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(System.currentTimeMillis()).split("-");
|
|
|
|
|
|
|
|
|
|
// 单号表达式
|
|
|
|
|
replace(orderNo, PlatformConstWords.YEAR, dateTime[0]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.MONTH, dateTime[1]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.DAY, dateTime[2]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.HOUR, dateTime[3]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.MINUTE, dateTime[4]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.SECOND, dateTime[5]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.YEAR_FULL, dateTime[0]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.YEAR, dateTime[1]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.MONTH, dateTime[2]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.DAY, dateTime[3]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.HOUR, dateTime[4]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.MINUTE, dateTime[5]);
|
|
|
|
|
replace(orderNo, PlatformConstWords.SECOND, dateTime[6]);
|
|
|
|
|
|
|
|
|
|
// 流水号长度补全表达式
|
|
|
|
|
String serialNoFormatStr = MessageFormat.format(PlatformConstWords.SERIAL_NO_FORMAT, orderNoRule.getSerialNoLength());
|
|
|
|
@ -69,12 +74,11 @@ public class OrderNoMakeUtil {
|
|
|
|
|
* @param param
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private static StringBuilder replace(StringBuilder no, String constant, String param) {
|
|
|
|
|
private static StringBuilder replace(StringBuilder no, String constant, Object param) {
|
|
|
|
|
int day = no.indexOf(constant);
|
|
|
|
|
if (day != -1) {
|
|
|
|
|
no.replace(day, day + constant.length(), param);
|
|
|
|
|
no.replace(day, day + constant.length(), param.toString());
|
|
|
|
|
}
|
|
|
|
|
return no;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|