diff --git a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/user/ExamineUserController.java b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/user/ExamineUserController.java index 8979ffe..e86c3d9 100644 --- a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/user/ExamineUserController.java +++ b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/user/ExamineUserController.java @@ -4,8 +4,6 @@ import cn.hutool.core.util.StrUtil; import org.springframework.security.access.prepost.PreAuthorize; import tech.unissense.pms.business.examine.user.domain.ExamineUser; import tech.unissense.pms.business.examine.user.service.ExamineUserService; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageRequest; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import tech.unissense.pms.common.core.controller.BaseController; diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java index cb6fd9b..6de7c4b 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java @@ -1,10 +1,9 @@ package tech.unissense.pms.business.examine.user.domain; -import lombok.Data; -import lombok.NoArgsConstructor; +import cn.hutool.core.util.StrUtil; +import lombok.*; import tech.unissense.pms.common.core.domain.BaseEntity; -import java.io.Serializable; import java.math.BigDecimal; import java.util.List; @@ -55,10 +54,28 @@ public class ExamineUser extends BaseEntity { private String deptId; private String isAsc; + private String sortFiled; + @Setter(value = AccessLevel.NONE) + @Getter(value = AccessLevel.NONE) + private String orderBySql; + private List userIdList; - - + public String getOrderBySql() { + //对排序字段的替换 + if (StrUtil.isEmpty(sortFiled)) { + return null; + } else if ("all".equalsIgnoreCase(sortFiled)) { + return (StrUtil.format("order by IFNULL(score,ifnull(manage_score,ifnull(self_score,-1))) {}", StrUtil.isNotEmpty(isAsc) ? isAsc : "")); + } else if ("manageScore".equalsIgnoreCase(sortFiled)) { + return (StrUtil.format("order by ifnull(manage_score,-1) {}", StrUtil.isNotEmpty(isAsc) ? isAsc : "")); + } else if ("selfScore".equalsIgnoreCase(sortFiled)) { + return (StrUtil.format("order by ifnull(self_score,-1) {}", StrUtil.isNotEmpty(isAsc) ? isAsc : "")); + }else if ("score".equalsIgnoreCase(sortFiled)) { + return (StrUtil.format("order by ifnull(score,-1) {}", StrUtil.isNotEmpty(isAsc) ? isAsc : "")); + } + return null; + } } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java index 5005ffb..367e2ba 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java @@ -17,15 +17,14 @@ import tech.unissense.pms.business.examine.user.service.ExamineUserService; import org.springframework.stereotype.Service; import tech.unissense.pms.business.work.logger.service.IWorkLoggerService; import tech.unissense.pms.common.annotation.DataScope; +import tech.unissense.pms.common.core.domain.entity.SysUser; import tech.unissense.pms.common.utils.SecurityUtils; +import tech.unissense.pms.common.utils.StringUtils; import tech.unissense.pms.system.service.ISysDictDataService; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.function.Function; import java.util.stream.Collectors; @@ -102,6 +101,16 @@ public class ExamineUserServiceImpl implements ExamineUserService { @Override @DataScope(deptAlias = "t2", userAlias = "t2") public List list(ExamineUser examineUser) { + SysUser user = SecurityUtils.getLoginUser().getUser(); + if (!user.getDeptId().equals(200L)) { + String sqlPermission = StringUtils.format( + " and ({}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) ))" + , "t2", user.getDeptId(), user.getDeptId()); + + examineUser.setParams(new HashMap() {{ + put("dataScope", sqlPermission); + }}); + } return examineUserMapper.list(examineUser); } diff --git a/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml b/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml index 2fe733e..b3ee796 100644 --- a/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml +++ b/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml @@ -113,7 +113,7 @@ ${params.dataScope} - order by ifnull(manage_score,-1) ${isAsc} + ${orderBySql}