fix(core):单号生成未正常重置

yun-zuoyi
汪云昊 4 years ago
parent 85b6a2211e
commit cb0460cf7b

@ -45,7 +45,7 @@ public class SynchronizedService implements ISynchronizedService {
private RabbitTemplate rabbitTemplate;
@Override
public synchronized SysOrderNoRule nextOrderNo(String code) {
public SysOrderNoRule nextOrderNo(String code) {
List<SysOrderNoRule> list = nextOrderNo(code, NumberUtils.INTEGER_ONE);
if (CollectionUtils.isEmpty(list)) {
throw ImppExceptionBuilder.newInstance()

@ -7,6 +7,7 @@ import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
@ -24,6 +25,8 @@ public class OrderNoMakeUtil {
private OrderNoMakeUtil() {
}
public static final BigDecimal TEN = new BigDecimal(10);
public static String getOrderNoTemplate(SysOrderNoRule orderNoRule) {
// 数据校验
if (orderNoRule == null || StringUtils.isBlank(orderNoRule.getOrderNoRule())) {
@ -50,7 +53,6 @@ public class OrderNoMakeUtil {
}
/**
*
* @param orderNoRule
* @param orderNoTemplate
* @return
@ -75,15 +77,17 @@ public class OrderNoMakeUtil {
orderNoRule.setSerialNo(serialNo);
}
BigDecimal maxSerialNo = TEN.pow(orderNoRule.getSerialNoLength()).subtract(BigDecimal.ONE);
if (CommonEnumUtil.TRUE_OR_FALSE.valueOfBoolean(orderNoRule.getIsFixedLength())
&& String.valueOf(serialNo).length() > orderNoRule.getSerialNoLength()) {
orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed());
&& serialNo > maxSerialNo.longValue()) {
serialNo = new BigDecimal(serialNo).remainder(maxSerialNo).longValue();
orderNoRule.setSerialNo(serialNo == 0 ? maxSerialNo.longValue() : serialNo);
}
} else {
orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed() * orderNoRule.getSerialNoIncrement());
}
orderNoRule.setOrderNo(orderNoTemplate.replace(SERIAL_NO,String.format(serialNoFormatStr, orderNoRule.getSerialNo())));
orderNoRule.setOrderNo(orderNoTemplate.replace(SERIAL_NO, String.format(serialNoFormatStr, orderNoRule.getSerialNo())));
return orderNoRule;
}

@ -1,34 +1,34 @@
package cn.estsh.i3plus.core.apiservice.util;
import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase;
import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule;
import org.junit.Test;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2018-11-21 19:45
* @Modify:
**/
public class TestOrderNoMakeUtil extends TestBase {
@Test
public void TestMakeOrderNo() {
SysOrderNoRule sysOrderNoRule = new SysOrderNoRule();
sysOrderNoRule.setName("一号单据");
sysOrderNoRule.setOrderNoRule("GG-{yyyy}{MM}{dd}{serialNo}");
sysOrderNoRule.setSerialNoSeed(1L);
sysOrderNoRule.setSerialNoIncrement(1L);
sysOrderNoRule.setSerialNoLength(4L);
sysOrderNoRule.setSerialNo(9999L);
sysOrderNoRule.setIsCycle(1);
String orderNoTemplate = OrderNoMakeUtil.getOrderNoTemplate(sysOrderNoRule);
System.out.println(OrderNoMakeUtil.next(sysOrderNoRule,orderNoTemplate));
// String d= MessageFormat.format("%0{0}d", 3);
// System.out.println(d);
}
}
//package cn.estsh.i3plus.core.apiservice.util;
//
//import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase;
//import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule;
//import org.junit.Test;
//
///**
// * @Description :
// * @Reference :
// * @Author : yunhao
// * @CreateDate : 2018-11-21 19:45
// * @Modify:
// **/
//public class TestOrderNoMakeUtil extends TestBase {
//
// @Test
// public void TestMakeOrderNo() {
// SysOrderNoRule sysOrderNoRule = new SysOrderNoRule();
// sysOrderNoRule.setName("一号单据");
// sysOrderNoRule.setOrderNoRule("GG-{yyyy}{MM}{dd}{serialNo}");
// sysOrderNoRule.setSerialNoSeed(1L);
// sysOrderNoRule.setSerialNoIncrement(1L);
// sysOrderNoRule.setSerialNoLength(4L);
// sysOrderNoRule.setSerialNo(9999L);
// sysOrderNoRule.setIsCycle(1);
//
// String orderNoTemplate = OrderNoMakeUtil.getOrderNoTemplate(sysOrderNoRule);
// System.out.println(OrderNoMakeUtil.next(sysOrderNoRule,orderNoTemplate));
//
//// String d= MessageFormat.format("%0{0}d", 3);
//// System.out.println(d);
// }
//
//}

Loading…
Cancel
Save