Browse Source

修改流水号规则bug。

master
刘忱 2 years ago
parent
commit
8d16d7f7f6
  1. 3
      win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/ErrorCodeConstants.java
  2. 8
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberServiceImpl.java

3
win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/ErrorCodeConstants.java

@ -164,7 +164,6 @@ public interface ErrorCodeConstants {
// ========== 流水号编码规则 1-002-029-000 ==========
ErrorCode SERIAL_NUMBER_NOT_EXISTS = new ErrorCode(1_002_029_000, "流水号规则不存在");
ErrorCode SERIAL_NUMBER_EXISTS = new ErrorCode(1_002_029_001, "流水号规则已存在");
ErrorCode RULE_CODE_NOT_EXISTS = new ErrorCode(1_002_029_001, "编码不存在");
ErrorCode LENGTH_NOT_ENOUGH = new ErrorCode(1_002_029_001, "单据编号长度不足");
ErrorCode SERIAL_NUMBER_NOT_ENOUGH = new ErrorCode(1_002_029_002, "流水号规则长度不足");
}

8
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberServiceImpl.java

@ -74,9 +74,8 @@ public class SerialNumberServiceImpl implements SerialNumberService {
private void validateSerialNumberNotExists(String ruleCode) {
QueryWrapper<SerialNumberDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("deleted", Boolean.FALSE);
queryWrapper.eq("rule_code", ruleCode);
if (serialNumberMapper.selectCount() != 0) {
if (serialNumberMapper.selectCount(queryWrapper) != 0) {
throw exception(SERIAL_NUMBER_EXISTS);
}
}
@ -104,12 +103,11 @@ public class SerialNumberServiceImpl implements SerialNumberService {
@Override
public synchronized String generateCode(String ruleCode) {
QueryWrapper<SerialNumberDO> queryWrapper = new QueryWrapper<>();
queryWrapper.isNull("delete_time");
queryWrapper.eq("rule_code", ruleCode);
SerialNumberDO encodedRule = serialNumberMapper.selectOne(queryWrapper);
String pattern = "";
if(encodedRule == null) {
throw exception(RULE_CODE_NOT_EXISTS);
throw exception(SERIAL_NUMBER_NOT_EXISTS);
}
if(encodedRule.getPattern() != null && !encodedRule.getPattern().equals("")) {
LocalDate currentDate = LocalDate.now();
@ -138,7 +136,7 @@ public class SerialNumberServiceImpl implements SerialNumberService {
if (incrementStr.length() <= encodedRule.getLength()) {
sb.append(String.format("%0" + encodedRule.getLength() + "d", increment));
} else {
throw exception(LENGTH_NOT_ENOUGH);
throw exception(SERIAL_NUMBER_NOT_ENOUGH);
}
code = sb.toString();
} while (flag);

Loading…
Cancel
Save