diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index f9425d9d1..7735f4266 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -252,7 +252,7 @@ public class SysUserController { sysUserService.editUserWithRole(user, roles); if (ObjectUtils.isNotEmpty(roles)) { - //如果角色包含viewer,设置责任领域权限和品牌权限 + //如果角色包含viewer或者品牌管理员,设置责任领域权限和品牌权限 sysUserService.setBrandAndDutyTerritory(roles, dutyTerritories, brands, projectUserBrandList, projectUserDutyTerritoryList, id); } result.success("修改成功!"); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java index 4a62c010a..aaf412c9c 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java @@ -11,6 +11,7 @@ public enum ProjectRoleEnum { MANAGER("领导角色","11","R&H Manager"), ADMIN("系统管理员","12","admin"), VIEWER("Viewer","13","Viewer"), + BRAND_ADMINISTRATOR("品牌管理员","14","BrandAdministrator"), ; String name; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 798a03a79..7fa268907 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -713,28 +713,33 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override public void setBrandAndDutyTerritory(String roles, String dutyTerritories, String brands, List projectUserBrandList, List projectUserDutyTerritoryList, String userId) { List roleCodes = sysRoleService.listByIds(Arrays.asList(roles.split(","))).stream().map(SysRole::getRoleCode).collect(Collectors.toList()); - if (roleCodes.contains(ProjectRoleEnum.VIEWER.getCode())) { + if (roleCodes.contains(ProjectRoleEnum.VIEWER.getCode())||roleCodes.contains(ProjectRoleEnum.BRAND_ADMINISTRATOR.getCode())) { + //viewer设置对应的责任领域 + if (roleCodes.contains(ProjectRoleEnum.VIEWER.getCode())) { + //先删后加 + QueryWrapper dutyTerritoryDelWrapper = new QueryWrapper<>(); + dutyTerritoryDelWrapper.eq("user_id", userId); + projectUserDutyTerritoryService.remove(dutyTerritoryDelWrapper); + + if (ObjectUtils.isNotEmpty(dutyTerritories)) { + List dictItemValue = sysDictItemService.selectItemsByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue()).stream().map(SysDictItem::getItemValue).collect(Collectors.toList()); + for (String dutyTerritory : dutyTerritories.split(",")) { + //校验责任领域是否合法 + if (dictItemValue.contains(dutyTerritory)) { + ProjectUserDutyTerritory projectUserDutyTerritory = new ProjectUserDutyTerritory(); + projectUserDutyTerritory.setUserId(userId); + projectUserDutyTerritory.setDutyTerritory(dutyTerritory); + projectUserDutyTerritoryList.add(projectUserDutyTerritory); + } + } + } + } + //先删后加 QueryWrapper brandDelWrapper = new QueryWrapper<>(); brandDelWrapper.eq("user_id", userId); projectUserBrandService.remove(brandDelWrapper); - QueryWrapper dutyTerritoryDelWrapper = new QueryWrapper<>(); - dutyTerritoryDelWrapper.eq("user_id", userId); - projectUserDutyTerritoryService.remove(dutyTerritoryDelWrapper); - - if (ObjectUtils.isNotEmpty(dutyTerritories)) { - List dictItemValue = sysDictItemService.selectItemsByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue()).stream().map(SysDictItem::getItemValue).collect(Collectors.toList()); - for (String dutyTerritory : dutyTerritories.split(",")) { - //校验责任领域是否合法 - if (dictItemValue.contains(dutyTerritory)) { - ProjectUserDutyTerritory projectUserDutyTerritory = new ProjectUserDutyTerritory(); - projectUserDutyTerritory.setUserId(userId); - projectUserDutyTerritory.setDutyTerritory(dutyTerritory); - projectUserDutyTerritoryList.add(projectUserDutyTerritory); - } - } - } if (ObjectUtils.isNotEmpty(brands)) { List dictItemValue = sysDictItemService.selectItemsByDictCode(DictCodeEnum.BRAND.getValue()).stream().map(SysDictItem::getItemValue).collect(Collectors.toList()); for (String brand : brands.split(",")) { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java index 95be495b5..cc21feb1e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java @@ -142,19 +142,19 @@ public class ParamsExportTemplateEOController extends JeroController e.getItemValue().equals(s)).map(f -> f.getItemText()).collect(Collectors.joining(",")); regionBuilder.append(regionName).append(","); } - paramsExportTemplateEOTemp.setRegionName(regionBuilder.substring(0, regionBuilder.toString().length() - 1)); + paramsExportTemplateEOTemp.setRegion_dictText(regionBuilder.substring(0, regionBuilder.toString().length() - 1)); }else{ - paramsExportTemplateEOTemp.setRegionName(""); + paramsExportTemplateEOTemp.setRegion_dictText(""); } } Collator comparator = Collator.getInstance(Locale.CHINESE); if (OrderEnum.POSITIVE.getValue().equals(paramsExportTemplateEO.getOrderBy())) { Collections.sort(list, (e1, e2) -> { - return comparator.compare(e1.getRegionName(), e2.getRegionName()); + return comparator.compare(e1.getRegion_dictText(), e2.getRegion_dictText()); }); } else if (OrderEnum.REVERSE.getValue().equals(paramsExportTemplateEO.getOrderBy())) { Collections.sort(list, (e1, e2) -> { - return comparator.compare(e2.getRegionName(), e1.getRegionName()); + return comparator.compare(e2.getRegion_dictText(), e1.getRegion_dictText()); }); } pageList = getPages(pageNo, pageSize, list); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java index e98dd8f83..2b23fad22 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java @@ -99,6 +99,6 @@ public class ParamsExportTemplateEO implements Serializable { //适用地区 @TableField(exist = false) - private String regionName; + private String region_dictText; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java index 60f604376..d9d10b996 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java @@ -138,6 +138,9 @@ public class ProjectLibraryBase implements Comparable { //品牌 private String brand; + @TableField(exist = false) + private String brandText; + @Override public int compareTo(ProjectLibraryBase o) { return Integer.valueOf(this.projectVersion)-Integer.valueOf(o.projectVersion);//升序 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml index b504c0987..a483480a0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml @@ -51,11 +51,13 @@ plb.software_version, plb.sort, plb.flag, - plb.brand + plb.brand, + sdi.item_text brandText from project_library_base as plb left join project_name_info as pni on plb.project_name_id=pni.id left join sys_user as studiouser on plb.studio_engineer=studiouser.id left join project_year_name_info as pyni on plb.year_name_id=pyni.id + left join sys_dict_item as sdi on sdi.item_value = plb.brand