| | |
| | | } |
| | | List<CodeBasicSec> createList = new ArrayList<>(); |
| | | List<CodeBasicSec> basicSecDOS = codeBasicSecMapper.selectBatchIds(oidList); |
| | | /* 需要注意的是克隆过来的码段需要对orderNum进行排序,否则会出现排序乱跳的情况 |
| | | 实现方式是查询出该规则下根据orderNum排序后的最后一个码段 */ |
| | | LambdaQueryWrapper<CodeBasicSec> lastBasicWrapper = Wrappers.<CodeBasicSec>query() |
| | | .lambda().orderByDesc(CodeBasicSec::getOrderNum) |
| | | .eq(CodeBasicSec::getPkCodeRule,pkCodeRule) |
| | | .last("limit 1"); |
| | | CodeBasicSec lastCodeBasicSec = codeBasicSecMapper.selectOne(lastBasicWrapper); |
| | | // 排序号从这儿开始排 |
| | | int orderNum = Func.isEmpty(lastCodeBasicSec) || Func.isEmpty(lastCodeBasicSec.getOrderNum()) ? -1 : lastCodeBasicSec.getOrderNum(); |
| | | if(basicSecDOS.isEmpty()){ |
| | | return R.fail("克隆的码段信息不存在!"); |
| | | } |
| | |
| | | String oldBasicOid = newSecDO.getOid(); |
| | | newSecDO.setId(newSecDO.getId()); |
| | | newSecDO.setName(newSecDO.getName()); |
| | | orderNum++; |
| | | newSecDO.setOrderNum(orderNum); |
| | | newSecDO.setPkCodeRule(pkCodeRule); |
| | | // 判断是否是分类码段,业务逻辑稍微复杂一点所以需要先提出来单独处理 |
| | | if(newSecDO.getSecType().equals(CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue())){ |