diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/listener/in/CycleTestListener.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/listener/in/CycleTestListener.java index d3879c286..03cd8085a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/listener/in/CycleTestListener.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/listener/in/CycleTestListener.java @@ -5,6 +5,7 @@ import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springblade.core.tool.utils.Func; import org.springblade.desk.basic.config.RoleConfig; import org.springblade.desk.quality.constant.CycleTestConst; import org.springblade.desk.quality.excel.CycleTestExcelImport; @@ -81,7 +82,15 @@ public class CycleTestListener extends AnalysisEventListener roleSet = new HashSet<>(uiPro.getRoles()); log.info("roleSet{}",roleSet); - if (!roleSet.contains(roleConfig.getProcessEngineerAlias())) { + List engineerRoles = Func.toStrList(roleConfig.getProcessEngineerAlias()); + boolean isEngineer = false; + for (String role : engineerRoles) { + if (roleSet.contains(role.trim())) { + isEngineer = true; + break; + } + } + if (!isEngineer) { String msg = MessageFormat.format("导入失败!第{0}行数据, 工艺员 角色不正确!", currentRowNum); throw new RuntimeException(msg); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java index 83bd8e612..ea7f763d1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java @@ -122,7 +122,15 @@ public class CycleTestTaskService2 { } // 区分角色 // 工艺员角色 只能看到自己的任务 - if (RoleUtil.hasRole(roleConfig.getProcessEngineerAlias())) { + List engineerRoles = Func.toStrList(roleConfig.getProcessEngineerAlias()); + boolean isEngineer = false; + for (String role : engineerRoles) { + if (RoleUtil.hasRole(role)) { + isEngineer = true; + break; + } + } + if (isEngineer) { qw.eq(CycleTestTask.COL_PROCESS_USER_ID, AuthUtil.getUser().getUserId()); qw.in(BaseCol.STATUS, CycleTestTaskConst.S_PENDING_ACCEPT, CycleTestTaskConst.S_PENDING_TEST); } @@ -141,8 +149,16 @@ public class CycleTestTaskService2 { } public R> listSearch(IPage page, CycleTestTaskSearch search) { + List engineerRoles = Func.toStrList(roleConfig.getProcessEngineerAlias()); + boolean isEngineer = false; + for (String role : engineerRoles) { + if (RoleUtil.hasRole(role)) { + isEngineer = true; + break; + } + } // 区分角色 - if (RoleUtil.hasRole(roleConfig.getProcessEngineerAlias())) { + if (isEngineer) { if (search == null) { search = new CycleTestTaskSearch(); } @@ -161,8 +177,16 @@ public class CycleTestTaskService2 { } public List listSearchWithoutPage(CycleTestTaskSearch search) { + List engineerRoles = Func.toStrList(roleConfig.getProcessEngineerAlias()); + boolean isEngineer = false; + for (String role : engineerRoles) { + if (RoleUtil.hasRole(role)) { + isEngineer = true; + break; + } + } // 区分角色 - if (RoleUtil.hasRole(roleConfig.getProcessEngineerAlias())) { + if (isEngineer) { if (search == null) { search = new CycleTestTaskSearch(); } diff --git a/blade-service/blade-desk/src/main/resources/application-dev.yml b/blade-service/blade-desk/src/main/resources/application-dev.yml index 3dbf0308b..a9e2d7032 100644 --- a/blade-service/blade-desk/src/main/resources/application-dev.yml +++ b/blade-service/blade-desk/src/main/resources/application-dev.yml @@ -36,7 +36,7 @@ role-config: # 49 tencent cloud #process-engineer-id: "2004331529923555330" #工艺员[角色]alias - process-engineer-alias: "process_engineer" + process-engineer-alias: "sj_craft,rb_craft" #热表检验员[角色]id rb-checker-id: "2011703987044114434" #热表检验员[角色]alias diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java b/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java index 3ff4feca6..e3ac8c1de 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java @@ -582,9 +582,8 @@ public class UserController { @ApiOperationSupport(order = 105) @Operation(summary = "list工艺员", description = "") public R> listProcessEngineer() { - log.info("工艺员 role id = {}", roleConfig.getProcessEngineerId()); -// List list = userExtService.listAllByRoleIds("" + roleConfig.getProcessEngineerId()); - List list = userExtService.listAllByRoleIds("2032373544077012993,2032373858255548418"); + log.info("工艺员角色alias = {}", roleConfig.getProcessEngineerAlias()); + List list = userExtService.listAllByRole(roleConfig.getProcessEngineerAlias()); return R.data(UserWrapper.build().listVO(list)); } } diff --git a/blade-service/blade-system/src/main/resources/application-dev.yml b/blade-service/blade-system/src/main/resources/application-dev.yml index 3a420fc1e..59cf7f59d 100644 --- a/blade-service/blade-system/src/main/resources/application-dev.yml +++ b/blade-service/blade-system/src/main/resources/application-dev.yml @@ -16,4 +16,4 @@ role-config: # 49 tencent cloud #process-engineer-id: "2004331529923555330" #工艺员角色alias - process-engineer-alias: "process_engineer" \ No newline at end of file + process-engineer-alias: "sj_craft,rb_craft" \ No newline at end of file