diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index 8d077c5..8dffa25 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -194,7 +194,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl accessibleIds; - if (querySource == PrjQuerySource.SYS_DB.value) { + if (querySource == PrjQuerySource.SYS_DB.value || querySource == PrjQuerySource.REPO_DB.value) { accessibleIds = permissionService.getAccessibleTree(); if (CollUtil.isEmpty(accessibleIds)) { return ElectromagneticResultUtil.success(new ArrayList<>()); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java index c33e483..abac649 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java @@ -66,11 +66,15 @@ public class EdPrjServiceImpl extends ServiceImpl } // 首先检查工程是否存在 - Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getParentId, PRJ_PARENT_ID) .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) - .eq(EdFileInfo::getFileName, prjName)); + .eq(EdFileInfo::getFileName, prjName); + if (DataOwnEnum.isUserCode(dataOwnCode)) { + queryWrapper.eq(EdFileInfo::getCreatedBy, UserThreadLocal.getUserId()); + } + Long count = this.baseMapper.selectCount(queryWrapper); if (count > 0) { String info = StrFormatter.format("{} 项目已经存在", prjName); @@ -81,7 +85,20 @@ public class EdPrjServiceImpl extends ServiceImpl try { // 保存信息到MySQL String maxPrjId = this.baseMapper.maxPrjId(); - int prjCount = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class).eq(EdFileInfo::getParentId, PRJ_PARENT_ID)).intValue(); + int prjCount; + if (DataOwnEnum.isUserCode(dataOwnCode)) { + prjCount = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class).eq(EdFileInfo::getParentId, PRJ_PARENT_ID) + .eq(EdFileInfo::getDataOwn, DataOwnEnum.USER_PRJ.code).eq(EdFileInfo::getCreatedBy, UserThreadLocal.getUserId())) + .intValue(); + } else if (DataOwnEnum.isSysCode(dataOwnCode)) { + prjCount = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class).eq(EdFileInfo::getParentId, PRJ_PARENT_ID) + .eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_PRJ.code)) + .intValue(); + } else { + prjCount = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class).eq(EdFileInfo::getParentId, PRJ_PARENT_ID) + .eq(EdFileInfo::getDataOwn, DataOwnEnum.REPO_PRJ.code)) + .intValue(); + } int id = Integer.parseInt(StrUtil.isEmpty(maxPrjId) ? "100000" : maxPrjId); String newPrjId = String.valueOf(id + 1);