| | |
| | | .getOne(new LambdaQueryWrapper<SerialRule>() |
| | | .eq(SerialRule::getCode, code)); |
| | | if (Objects.isNull(serialRule)) { |
| | | |
| | | throw new CoolException("当前业务:" + code + ",编码规则不存在!!"); |
| | | } |
| | | SerialRuleItemService serialRuleItemService = SpringUtils.getBean(SerialRuleItemService.class); |
| | |
| | | .list(new LambdaQueryWrapper<SerialRuleItem>() |
| | | .eq(SerialRuleItem::getRuleId, serialRule.getId()) |
| | | .orderByAsc(SerialRuleItem::getSort)); |
| | | if (Objects.isNull(ruleItems)) { |
| | | if (Objects.isNull(ruleItems) || ruleItems.isEmpty()) { |
| | | throw new CoolException("编码规则明细为空!!"); |
| | | } |
| | | |
| | |
| | | if (serialRule.getReset().equals(SerialRuleReset.SERIAL_REST_TYPE_YEAR.type)) { |
| | | format = DateUtils.format(new Date(), "yyyy"); |
| | | } else if (serialRule.getReset().equals(SerialRuleReset.SERIAL_REST_TYPE_MONTH.type)) { |
| | | format = DateUtils.format(new Date(), "MM"); |
| | | } else { |
| | | format = DateUtils.format(new Date(), "dd"); |
| | | format = DateUtils.format(new Date(), "yyyyMM"); |
| | | } else if (serialRule.getReset().equals(SerialRuleReset.SERIAL_REST_TYPE_DAYS.type)){ |
| | | format = DateUtils.format(new Date(), "yyyyMMdd"); |
| | | } |
| | | //当前值自动加1 |
| | | Integer curVal = serialRule.getCurrValue() + 1; |
| | |
| | | //判断是否设置截取长度和起始截取位置 |
| | | buffer.append(subStr(format, rule.getLenStr(), rule.getLen())); |
| | | } else if (rule.getWkType().equals(SerialRuleType.WK_FEILD.wkType)) { |
| | | String subStr = subStr(objectToMap(obj).get(rule.getFeildValue()).toString(), rule.getLenStr(), rule.getLen()); |
| | | buffer.append(subStr); |
| | | String subStr; |
| | | if (!Objects.isNull(objectToMap(obj).get(rule.getFeildValue()))) { |
| | | subStr = subStr(objectToMap(obj).get(rule.getFeildValue()).toString(), rule.getLenStr(), rule.getLen()); |
| | | buffer.append(subStr); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | serialRule.setLastCode(buffer.toString()); |
| | | //修改当前规则编码号至数据库 |
| | | if (!ruleService.saveOrUpdate(serialRule)) { |
| | |
| | | if (Objects.isNull(start) || end == 0) { |
| | | buffer.append(str); |
| | | } else { |
| | | if (str.length() <= (end + start)) { |
| | | if (str.length() < (end + start)) { |
| | | throw new CoolException("截取字符起出字符串长度,请查看规则设定!!"); |
| | | } |
| | | //返回起始位置lenStr开始,终点位置为lenStr + len长度的字符串 |
| | |
| | | * @time 2025/3/5 14:00 |
| | | */ |
| | | public static Map<?, ?> objectToMap (Object obj) { |
| | | if (obj == null) { |
| | | if (Objects.isNull(obj)) { |
| | | return null; |
| | | } |
| | | ObjectMapper objectMapper = new ObjectMapper(); |