diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/manage/ProjectStoppedManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/manage/ProjectStoppedManage.java index 8be6526..0773b1b 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/manage/ProjectStoppedManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/manage/ProjectStoppedManage.java @@ -23,6 +23,8 @@ import com.hz.pm.api.projectlib.model.vo.ProjectStoppedDetailVO; import com.hz.pm.api.projectlib.service.IProjectInstService; import com.hz.pm.api.projectlib.service.IProjectService; import com.hz.pm.api.sys.manage.ProcessModelManage; +import com.hz.pm.api.user.helper.MhUnitQueryAuthHelper; +import com.hz.pm.api.user.helper.MhUnitQueryAuthHelper.UnitQueryState; import com.hz.pm.api.user.security.model.UserInfoDetails; import com.hz.pm.api.user.util.LoginUserUtil; import com.ningdatech.basic.model.PageVo; @@ -63,6 +65,7 @@ public class ProjectStoppedManage { private final ProcessModelManage processModelManage; private final DeclaredProjectHelper declaredProjectHelper; private final ProjectChangeStopHelper projectChangeStopHelper; + private final MhUnitQueryAuthHelper mhUnitQueryAuthHelper; @Transactional(rollbackFor = Exception.class) public synchronized void submitProjectStoppedApply(SubmitProjectStoppedApplyReq req) { @@ -95,10 +98,19 @@ public class ProjectStoppedManage { } public PageVo page(ProjectListReq req) { + Long buildOrgCode = req.clearBuildOrgCode(); + UnitQueryState unitQueryState = mhUnitQueryAuthHelper.listCanViewUnitIds(buildOrgCode); + if (!unitQueryState.isState()) { + return PageVo.empty(); + } LambdaQueryWrapper query = ProjectManageUtil.projectQuery(req); query.eq(Project::getNewest, Boolean.TRUE) .orderByDesc(Project::getUpdateOn) .isNotNull(Project::getStoppedStatus); + BizUtils.notEmpty(unitQueryState.getUnitIds(), w -> { + List buildOrgCodeStrList = CollUtils.convert(w, String::valueOf); + query.in(Project::getBuildOrgCode, buildOrgCodeStrList); + }); Page page = req.page(); projectService.page(page, query); List records = page.getRecords(); @@ -133,13 +145,21 @@ public class ProjectStoppedManage { } public List options() { + UnitQueryState unitQueryState = mhUnitQueryAuthHelper.listCanViewUnitIds(null); + if (!unitQueryState.isState()) { + return Collections.emptyList(); + } LambdaQueryWrapper query = Wrappers.lambdaQuery(Project.class) .select(Project::getId, Project::getProjectCode, Project::getProjectName) .eq(Project::getNewest, Boolean.TRUE) .orderByDesc(Project::getCreateOn) .notIn(Project::getStatus, ProjectStatus.STOPPED_PASSED.getCode(), ProjectStatus.ON_STOPPED_APPLY.getCode()); - UserInfoDetails userDetail = LoginUserUtil.userDetail(); + BizUtils.notEmpty(unitQueryState.getUnitIds(), w -> { + List buildOrgCodeStrList = CollUtils.convert(w, String::valueOf); + query.in(Project::getBuildOrgCode, buildOrgCodeStrList); + }); + UserInfoDetails userDetail = LoginUserUtil.userDetailNotNull(); if (!userDetail.hasSuperAdmin()) { query.eq(Project::getBuildOrgCode, userDetail.getMhUnitIdStr()); } diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/workbench/manage/WorkbenchManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/workbench/manage/WorkbenchManage.java index 79ea93d..4301a5b 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/workbench/manage/WorkbenchManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/workbench/manage/WorkbenchManage.java @@ -1039,6 +1039,8 @@ public class WorkbenchManage { .eq(Project::getNewest, Boolean.TRUE) .eq(req.getProjectYear() != null, Project::getProjectYear, req.getProjectYear()) .eq(req.getUnitStrip() != null, Project::getUnitStrip, req.getUnitStrip()) + .notIn(Project::getStatus, ProjectStatus.CHANGE_APPLY_PASSED.getCode(), + ProjectStatus.STOPPED_PASSED.getCode()) .eq(Project::getIsMajorProject, Boolean.TRUE) .orderByDesc(Project::getUpdateOn); UnitQueryState state = mhUnitQueryAuthHelper.listCanViewUnitIds(req.getUnitId());