diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index 59d78c2f..2efa15d2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -25,8 +25,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import java.util.Objects; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -115,8 +119,35 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl queryPayWorkingGroup = new LambdaQueryWrapper<>(); + queryPayWorkingGroup.like(PayWorkingGroup::getWorkingGroupProject,str); + List listPayWorkingGroup = payWorkingGroupService.list(queryPayWorkingGroup); + if(!CollectionUtils.isEmpty(listPayWorkingGroup)){ + String rex = "^[0-9]*[1-9][0-9]*$"; + List list = new ArrayList<>(); + String finalStr = str; + listPayWorkingGroup.forEach(p->{ + String project = p.getWorkingGroupProject(); + if(!StringUtils.isEmpty(project) && !Objects.equals(p.getId(),payWorkingGroupOld.getId())){ + String projectNew = project.substring(finalStr.length()); + Pattern pa = Pattern.compile(rex); + Matcher m = pa.matcher(projectNew); + if (m.find()){ + list.add(Integer.parseInt(projectNew)); + } + } + }); + if(!CollectionUtils.isEmpty(list)){ + int m = list.stream().max(Comparator.comparing(Integer::intValue)).get(); + str = str + (m + 1); + } + }else{ + str = str + 1; + } + payWorkingGroupOld.setId(null); - payWorkingGroupOld.setWorkingGroupProject(payWorkingGroupOld.getWorkingGroupProject() + "-副本"); + payWorkingGroupOld.setWorkingGroupProject(str); payWorkingGroupOld.setCreateBy(null); payWorkingGroupOld.setCreateTime(null); payWorkingGroupOld.setUpdateBy(null);