diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/part/service/impl/ProcessPartTypeApplyRecordServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/part/service/impl/ProcessPartTypeApplyRecordServiceImpl.java index cfdab27c..4e8c1822 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/part/service/impl/ProcessPartTypeApplyRecordServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/part/service/impl/ProcessPartTypeApplyRecordServiceImpl.java @@ -129,16 +129,16 @@ public class ProcessPartTypeApplyRecordServiceImpl extends ServiceImpl queryProcessPartTypeApplyRecord = new QueryWrapper<>(); queryProcessPartTypeApplyRecord.select("max(part_relevance_type) as part_relevance_type"); - queryProcessPartTypeApplyRecord.likeLeft("part_relevance_type",lawsPartRelevance.getSystemCode()); queryProcessPartTypeApplyRecord.ne("id",obj.getId()); + queryProcessPartTypeApplyRecord.last(" and part_relevance_type REGEXP '^" + lawsPartRelevance.getSystemCode() + "[A-Z]{3}$';"); ProcessPartTypeApplyRecord max = getOne(queryProcessPartTypeApplyRecord,false); - if(Objects.isNull(max)){ + if(Objects.isNull(max) || StringUtils.isEmpty(max.getPartRelevanceType())){ partRelevanceType = lawsPartRelevance.getSystemCode() + "AAA"; }else{ - String str = max.getPartRelevanceType().replace(lawsPartRelevance.getSystemCode(),""); - if(StringUtils.isEmpty(str)){ + if(max.getPartRelevanceType().length() < 3){ partRelevanceType = lawsPartRelevance.getSystemCode() + "AAA"; }else{ + String str = max.getPartRelevanceType().substring(max.getPartRelevanceType().length() - 3); partRelevanceType = lawsPartRelevance.getSystemCode() + generateNext(str); }