优化报表

单号生成规则调整重置条件
yun-zuoyi
yunhao.wang 6 years ago
parent 8458d9f311
commit 9f20dd7665

@ -423,7 +423,7 @@ public class ExcelUtil {
for (SysFile sysFile:fileList) {
letter.append("<a href='/impp/operate/sys-file/download/"+sysFile.getId() + "'>");
letter.append(sysFile.getFileOriginalName());
letter.append("</a>");
letter.append("</a></br>");
}
// 消息提示

@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.util;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule;
import com.alibaba.fastjson.JSON;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
@ -20,7 +21,7 @@ public class OrderNoMakeUtil {
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]);
@ -28,14 +29,15 @@ public class OrderNoMakeUtil {
replace(orderNo, PlatformConstWords.MINUTE, dateTime[4]);
replace(orderNo, PlatformConstWords.SECOND, dateTime[5]);
// 流水号长度补全
String serialNumberFormatStr = MessageFormat.format(PlatformConstWords.SERIAL_NO_FORMAT, orderNoRule.getSerialNoLength());
// 流水号长度补全表达式
String serialNoFormatStr = MessageFormat.format(PlatformConstWords.SERIAL_NO_FORMAT, orderNoRule.getSerialNoLength());
// 判断是否首次生成SerialNo初始值-1
if (orderNoRule.getSerialNo() > 0) {
Long serialNo = orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement();
// 达到最大值后循环或继续
if(orderNoRule.getSerialNoLength().intValue() < String.valueOf(serialNo).length()
&& orderNoRule.getIsCycle() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){
String newNo = orderNo.substring(0,orderNo.indexOf(PlatformConstWords.SERIAL_NO));
String oldNo = orderNoRule.getOrderNo().substring(0,orderNo.indexOf(PlatformConstWords.SERIAL_NO));
// 前缀(日期)不同后是否重置流水号
if(!newNo.equals(oldNo) && orderNoRule.getIsCycle() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){
orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed());
} else {
orderNoRule.setSerialNo(orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement());
@ -43,7 +45,7 @@ public class OrderNoMakeUtil {
} else {
orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed());
}
replace(orderNo, PlatformConstWords.SERIAL_NO, String.format(serialNumberFormatStr, orderNoRule.getSerialNo()));
replace(orderNo, PlatformConstWords.SERIAL_NO, String.format(serialNoFormatStr, orderNoRule.getSerialNo()));
orderNoRule.setOrderNo(orderNo.toString());
return orderNoRule;

Loading…
Cancel
Save