优化报表

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

@ -423,7 +423,7 @@ public class ExcelUtil {
for (SysFile sysFile:fileList) { for (SysFile sysFile:fileList) {
letter.append("<a href='/impp/operate/sys-file/download/"+sysFile.getId() + "'>"); letter.append("<a href='/impp/operate/sys-file/download/"+sysFile.getId() + "'>");
letter.append(sysFile.getFileOriginalName()); 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.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule;
import com.alibaba.fastjson.JSON;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -20,7 +21,7 @@ public class OrderNoMakeUtil {
StringBuilder orderNo = new StringBuilder(orderNoRule.getOrderNoRule()); StringBuilder orderNo = new StringBuilder(orderNoRule.getOrderNoRule());
String[] dateTime = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(System.currentTimeMillis()).split("-"); String[] dateTime = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(System.currentTimeMillis()).split("-");
// 单号表达式 // 单号表达式
replace(orderNo, PlatformConstWords.YEAR, dateTime[0]); replace(orderNo, PlatformConstWords.YEAR, dateTime[0]);
replace(orderNo, PlatformConstWords.MONTH, dateTime[1]); replace(orderNo, PlatformConstWords.MONTH, dateTime[1]);
replace(orderNo, PlatformConstWords.DAY, dateTime[2]); replace(orderNo, PlatformConstWords.DAY, dateTime[2]);
@ -28,14 +29,15 @@ public class OrderNoMakeUtil {
replace(orderNo, PlatformConstWords.MINUTE, dateTime[4]); replace(orderNo, PlatformConstWords.MINUTE, dateTime[4]);
replace(orderNo, PlatformConstWords.SECOND, dateTime[5]); 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) { if (orderNoRule.getSerialNo() > 0) {
Long serialNo = orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement(); String newNo = orderNo.substring(0,orderNo.indexOf(PlatformConstWords.SERIAL_NO));
// 达到最大值后循环或继续 String oldNo = orderNoRule.getOrderNo().substring(0,orderNo.indexOf(PlatformConstWords.SERIAL_NO));
if(orderNoRule.getSerialNoLength().intValue() < String.valueOf(serialNo).length() // 前缀(日期)不同后是否重置流水号
&& orderNoRule.getIsCycle() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){ if(!newNo.equals(oldNo) && orderNoRule.getIsCycle() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){
orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed()); orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed());
} else { } else {
orderNoRule.setSerialNo(orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement()); orderNoRule.setSerialNo(orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement());
@ -43,7 +45,7 @@ public class OrderNoMakeUtil {
} else { } else {
orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed()); 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()); orderNoRule.setOrderNo(orderNo.toString());
return orderNoRule; return orderNoRule;

Loading…
Cancel
Save