From 6504c573307540cf89af7e8b5480189c615599a2 Mon Sep 17 00:00:00 2001 From: chenhao <852066789@qq.com> Date: Wed, 16 Oct 2024 14:27:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BC=98=E5=8C=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/project/ProjectController.java | 2 +- .../business/work/WorkHourController.java | 19 ++++ .../src/main/resources/application-pro.yml | 29 +++++- .../pms/business/project/domain/Project.java | 12 +-- .../project/mapper/ProjectMapper.java | 6 ++ .../service/impl/ProjectServiceImpl.java | 89 ++++++++++++++++--- .../project/vo/ProjectExecutionVo.java | 1 + .../projectteam/vo/TeamStaticsVo.java | 2 +- .../work/logger/domain/WorkLogger.java | 9 +- .../logger/service/IWorkLoggerService.java | 4 + .../service/impl/WorkLoggerServiceImpl.java | 33 +++++-- .../work/logger/vo/StaticsHourVo.java | 2 +- .../mapper/business/Project/ProjectMapper.xml | 57 ++++++++---- .../business/WorkLogger/WorkLoggerMapper.xml | 2 +- .../framework/aspectj/DataScopeAspect.java | 8 +- .../service/impl/SysDeptServiceImpl.java | 2 +- 16 files changed, 219 insertions(+), 58 deletions(-) diff --git a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/project/ProjectController.java b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/project/ProjectController.java index 38026e7..872eaa9 100644 --- a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/project/ProjectController.java +++ b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/project/ProjectController.java @@ -59,7 +59,7 @@ public class ProjectController extends BaseController * 新增数据 */ // @PreAuthorize("@ss.hasPermi('system:dept:list')") - @PostMapping("/update") + @PutMapping("/update") @Log(title = "项目管理", businessType = BusinessType.UPDATE) public AjaxResult updateDate(@RequestBody Project project) { diff --git a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/work/WorkHourController.java b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/work/WorkHourController.java index bb16db3..9146062 100644 --- a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/work/WorkHourController.java +++ b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/work/WorkHourController.java @@ -37,6 +37,16 @@ public class WorkHourController extends BaseController { service.insert(workLogger); return success(); } + /** + * 新增数据 + */ + // @PreAuthorize("@ss.hasPermi('system:dept:list')") + @PutMapping("/update") + @Log(title = "工作日志", businessType = BusinessType.UPDATE) + public AjaxResult updateData(@RequestBody WorkLogger workLogger) { + service.update(workLogger); + return success(); + } /** * 查看工作日志 @@ -47,6 +57,15 @@ public class WorkHourController extends BaseController { return success(service.getInfo(workLogger)); } + /** + * 获取当天剩余工时 + */ + // @PreAuthorize("@ss.hasPermi('system:dept:list')") + @PostMapping("/remaining") + public AjaxResult remaining(@RequestBody WorkLogger workLogger) { + + return AjaxResult.success(null,service.getRemaining(workLogger)); + } /** * 查看日历记录 diff --git a/pms-admin/src/main/resources/application-pro.yml b/pms-admin/src/main/resources/application-pro.yml index 426a48a..1b8b477 100644 --- a/pms-admin/src/main/resources/application-pro.yml +++ b/pms-admin/src/main/resources/application-pro.yml @@ -1,3 +1,5 @@ +server: + port: 8181 # 数据源配置 spring: datasource: @@ -6,9 +8,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://192.168.124.202:3306/unis_pms_pro?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: password + password: unissense # 从库数据源 slave: # 从数据源开关/默认关闭 @@ -58,4 +60,25 @@ spring: merge-sql: true wall: config: - multi-statement-allow: true \ No newline at end of file + multi-statement-allow: true + redis: + # 地址 + host: 192.168.124.103 + # 端口,默认为6379 + port: 6379 + # 数据库索引 + database: 14 + # 密码 + password: zghz@123 + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池中的最小空闲连接 + min-idle: 0 + # 连接池中的最大空闲连接 + max-idle: 8 + # 连接池的最大数据库连接数 + max-active: 8 + # #连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms \ No newline at end of file diff --git a/pms-business/src/main/java/tech/unissense/pms/business/project/domain/Project.java b/pms-business/src/main/java/tech/unissense/pms/business/project/domain/Project.java index 449d0b5..f5697c3 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/project/domain/Project.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/project/domain/Project.java @@ -1,12 +1,12 @@ package tech.unissense.pms.business.project.domain; -import java.util.Date; -import java.io.Serializable; -import java.util.List; - -import tech.unissense.pms.common.core.domain.BaseEntity; +import lombok.AccessLevel; import lombok.Data; -import tech.unissense.pms.business.projectteam.domain.ProjectTeam; +import lombok.Getter; +import tech.unissense.pms.common.core.domain.BaseEntity; +import tech.unissense.pms.common.utils.DateUtils; + +import java.util.Date; /** * (Project)实体类 diff --git a/pms-business/src/main/java/tech/unissense/pms/business/project/mapper/ProjectMapper.java b/pms-business/src/main/java/tech/unissense/pms/business/project/mapper/ProjectMapper.java index 150859c..948b8be 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/project/mapper/ProjectMapper.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/project/mapper/ProjectMapper.java @@ -2,7 +2,9 @@ package tech.unissense.pms.business.project.mapper; import tech.unissense.pms.business.project.domain.Project; import org.apache.ibatis.annotations.Param; +import tech.unissense.pms.common.core.domain.entity.SysRole; +import java.util.Date; import java.util.List; /** @@ -80,5 +82,9 @@ public interface ProjectMapper { int deleteById(Integer projectId); int logicalDeleteById(Integer projectId); + + Project checkProjectUnique(Project project); + + String selectProjectCode(Date date); } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/project/service/impl/ProjectServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/project/service/impl/ProjectServiceImpl.java index 31e2bef..759b579 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/project/service/impl/ProjectServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/project/service/impl/ProjectServiceImpl.java @@ -1,6 +1,7 @@ package tech.unissense.pms.business.project.service.impl; import cn.hutool.core.collection.CollUtil; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import tech.unissense.pms.business.project.domain.Project; @@ -16,6 +17,8 @@ import tech.unissense.pms.business.work.logger.domain.WorkLogger; import tech.unissense.pms.business.work.logger.service.IWorkLoggerService; import tech.unissense.pms.business.work.logger.vo.StaticsHourVo; import tech.unissense.pms.common.core.domain.entity.SysUser; +import tech.unissense.pms.common.core.redis.RedisCache; +import tech.unissense.pms.common.exception.ServiceException; import tech.unissense.pms.common.utils.DateUtils; import tech.unissense.pms.common.utils.SecurityUtils; import tech.unissense.pms.common.utils.StringUtils; @@ -25,11 +28,11 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDate; import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -39,6 +42,7 @@ import java.util.stream.Stream; * @author ch * @since 2024-10-08 11:47:01 */ +@Slf4j @Service("projectService") public class ProjectServiceImpl implements IProjectService { @Resource @@ -48,6 +52,9 @@ public class ProjectServiceImpl implements IProjectService { @Autowired private IWorkLoggerService workLoggerService; + private static final ConcurrentHashMap DAILY_SEQUENCE_MAP = new ConcurrentHashMap<>(); + @Autowired + private RedisCache redisCache; /** * 通过ID查询单条数据 * @@ -67,7 +74,22 @@ public class ProjectServiceImpl implements IProjectService { */ public List permissisonList(Project project) { dataPermissions(project); - return this.projectMapper.list(project); + List list = this.projectMapper.list(project); + Date nowDate = DateUtils.getNowDate(); + list.forEach(item -> { + if (item.getStartDate() == null || item.getEndDate() == null) { + return; + } + if (nowDate.before(item.getStartDate())) { + item.setProjectState("0"); + } else if (nowDate.after(item.getStartDate()) && nowDate.before(item.getEndDate())) { + item.setProjectState("1"); + } else if (nowDate.after(item.getEndDate())) { + item.setProjectState("2"); + } + + }); + return list; } private void dataPermissions(Project project) { @@ -84,8 +106,8 @@ public class ProjectServiceImpl implements IProjectService { if (user.getRoles().stream().anyMatch(item-> "企业管理员".equals(item.getRoleName())|| "公司领导".equals(item.getRoleName()))){ }else if (user.getRoles().stream().anyMatch(item -> "项目经理".equals(item.getRoleName()))){ - sql.append("and (t1.project_id in (select project_id from pms_project_team where user_id={} ) or t1.project_leader={})"); - project.getParams().put("dataScope", StringUtils.format(sql.toString(), user.getUserId(), user.getUserId())); + sql.append("and (t1.project_id in (select project_id from pms_project_team where user_id={} ) or t1.project_leader={} or t1.create_by={})"); + project.getParams().put("dataScope", StringUtils.format(sql.toString(), user.getUserId(), user.getUserId(), user.getUserId())); }else{ sql.append("and (t1.project_id in (select project_id from pms_project_team where user_id={} ))"); project.getParams().put("dataScope", StringUtils.format(sql.toString(), user.getUserId())); @@ -93,6 +115,14 @@ public class ProjectServiceImpl implements IProjectService { } + public String checkProjectUnique(Project project) { + Integer projectId = StringUtils.isNull(project.getProjectId()) ? -1 : project.getProjectId(); + Project info = projectMapper.checkProjectUnique(project); + if (StringUtils.isNotNull(info) && !projectId.equals(info.getProjectId())) { + return project.getProjectName().equals(info.getProjectName()) ? "项目名称已存在" : "项目编号已存在"; + } + return ""; + } /** * 新增数据 * @@ -101,9 +131,42 @@ public class ProjectServiceImpl implements IProjectService { */ @Override public Project insert(Project project) { + String errorMsg = checkProjectUnique(project); + if (StringUtils.isNotEmpty(errorMsg)) { + throw new ServiceException(errorMsg); + } if (StringUtils.isEmpty(project.getState())){ project.setState("0"); } + if (StringUtils.isEmpty(project.getProjectCode())) { + // PM+年月日+四位编码 + LocalDate currentDate = LocalDate.now(); + String dateStr = currentDate.format(DateTimeFormatter.ofPattern("yyyyMMdd")); + // 使用computeIfAbsent来初始化或获取当天的AtomicInteger + AtomicInteger sequence = DAILY_SEQUENCE_MAP.compute(dateStr, (key, existingValue) -> { + if (existingValue == null) { + // 清除旧的日期数据 + DAILY_SEQUENCE_MAP.clear(); + String existProjectCode = projectMapper.selectProjectCode(DateUtils.toDate(currentDate)); + int initValue = 1; + try { + initValue = StringUtils.isNotEmpty(existProjectCode) ? Integer.parseInt(existProjectCode.substring(existProjectCode.length() - 4)) + 1 : 1; + } catch (NumberFormatException e) { + log.error("项目编码格式化错误,项目编码为:{}",existProjectCode); + } + return new AtomicInteger(initValue); + } else { + return existingValue.incrementAndGet() > 9999 ? new AtomicInteger(1) : existingValue; + } + }); + + // 格式化为四位编码 + String sequenceStr = String.format("%04d", sequence.get()); + + // 生成项目编码 + String projectCode = "PM" + dateStr + sequenceStr; + project.setProjectCode(projectCode); + } // 新增项目 this.projectMapper.insert(project); // project.getProjectTeamList().forEach(item -> item.setProjectId(project.getProjectId())); @@ -120,6 +183,10 @@ public class ProjectServiceImpl implements IProjectService { */ @Override public Project update(Project project) { + String errorMsg = checkProjectUnique(project); + if (StringUtils.isNotEmpty(errorMsg)) { + throw new ServiceException(errorMsg); + } this.projectMapper.update(project); return this.queryById(project.getProjectId()); } @@ -150,19 +217,19 @@ public class ProjectServiceImpl implements IProjectService { // 获取每个成员的工时统计并转换为Map Map workHourVo = workLoggerService.personStatics(projectId).stream() - .collect(Collectors.toMap(StaticsHourVo::getName, StaticsHourVo::getWorkDay,(v1, v2)->v1)); + .collect(Collectors.toMap(StaticsHourVo::getName, StaticsHourVo::getWorkTime, (v1, v2) -> v1)); // 返回每个成员的工时信息 return projectTeamList.stream().map(item -> { String userIdStr = String.valueOf(item.getUserId()); - BigDecimal workDay = workHourVo.getOrDefault(userIdStr, BigDecimal.ZERO); + BigDecimal workTime = workHourVo.getOrDefault(userIdStr, BigDecimal.ZERO); TeamStaticsVo teamStaticsVo = new TeamStaticsVo(); teamStaticsVo.setTeamId(item.getTeamId()); teamStaticsVo.setUserName(item.getUserName()); teamStaticsVo.setUserId(item.getUserId()); teamStaticsVo.setPostId(item.getPostId()); - teamStaticsVo.setWorkDay(workDay); + teamStaticsVo.setWorkTime(workTime); return teamStaticsVo; }).collect(Collectors.toList()); } @@ -183,7 +250,7 @@ public class ProjectServiceImpl implements IProjectService { Map workTimeMap = workLoggers.stream() .collect(Collectors.toMap( item -> item.getProjectId() + "_" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, item.getLoggerDate()), - WorkLogger::getWorkDay, + item -> new BigDecimal(item.getWorkTime()), BigDecimal::add)); LocalDate startDate = workLogger.getStartDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); diff --git a/pms-business/src/main/java/tech/unissense/pms/business/project/vo/ProjectExecutionVo.java b/pms-business/src/main/java/tech/unissense/pms/business/project/vo/ProjectExecutionVo.java index 89a1d76..3d5ad7d 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/project/vo/ProjectExecutionVo.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/project/vo/ProjectExecutionVo.java @@ -22,6 +22,7 @@ import java.util.List; public class ProjectExecutionVo { private Integer projectId; private String projectName; + private String projectState; private Integer budgetDate; private BigDecimal allWorkTime; private List detailList; diff --git a/pms-business/src/main/java/tech/unissense/pms/business/projectteam/vo/TeamStaticsVo.java b/pms-business/src/main/java/tech/unissense/pms/business/projectteam/vo/TeamStaticsVo.java index 3e8d163..0d1e087 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/projectteam/vo/TeamStaticsVo.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/projectteam/vo/TeamStaticsVo.java @@ -23,5 +23,5 @@ public class TeamStaticsVo { private String userName; private Integer userId; private String postId; - private BigDecimal workDay; + private BigDecimal workTime; } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/domain/WorkLogger.java b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/domain/WorkLogger.java index ca9f511..0131e7e 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/domain/WorkLogger.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/domain/WorkLogger.java @@ -37,7 +37,7 @@ public class WorkLogger extends BaseEntity { /** * 工作时长 */ - private Integer workTime; + private String workTime; /** * 工作日志 */ @@ -50,12 +50,7 @@ public class WorkLogger extends BaseEntity { private Date startDate; private Date endDate; private List projectIdList; - public BigDecimal getWorkDay(){ - if (workTime==null){ - return BigDecimal.ZERO; - } - return new BigDecimal(workTime).divide(new BigDecimal(8),1,BigDecimal.ROUND_HALF_UP); - } + } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/IWorkLoggerService.java b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/IWorkLoggerService.java index d36de9e..8603b8f 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/IWorkLoggerService.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/IWorkLoggerService.java @@ -64,4 +64,8 @@ public interface IWorkLoggerService { List personStatics(Integer projectId); List listUser(WorkLogger workLogger); + + String getRemaining(WorkLogger workLogger); + + } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/impl/WorkLoggerServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/impl/WorkLoggerServiceImpl.java index 6cc62ab..e19e51b 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/impl/WorkLoggerServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/impl/WorkLoggerServiceImpl.java @@ -9,13 +9,13 @@ import tech.unissense.pms.business.work.logger.service.IWorkLoggerService; import tech.unissense.pms.business.work.logger.vo.CalendarVo; import tech.unissense.pms.business.work.logger.vo.StaticsHourVo; import tech.unissense.pms.common.utils.DateUtils; +import tech.unissense.pms.common.utils.SecurityUtils; import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDate; import java.time.ZoneId; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Map; import java.util.function.Function; @@ -139,7 +139,7 @@ public class WorkLoggerServiceImpl implements IWorkLoggerService { Map workHourMap = list.stream() .collect(Collectors.toMap( WorkLogger::getProjectId, - WorkLogger::getWorkDay, + item->new BigDecimal(item.getWorkTime()), BigDecimal::add )); @@ -160,7 +160,7 @@ public class WorkLoggerServiceImpl implements IWorkLoggerService { Map personWorkHourMap = workLoggers.stream() .collect(Collectors.toMap( WorkLogger::getCreateBy, - WorkLogger::getWorkDay, + item->new BigDecimal(item.getWorkTime()), BigDecimal::add )); @@ -173,6 +173,29 @@ public class WorkLoggerServiceImpl implements IWorkLoggerService { return workLoggerMapper.listUser(workLogger); } + @Override + public String getRemaining(WorkLogger workLogger) { + // 获取当前登录用户的ID + Long userId = SecurityUtils.getLoginUser().getUserId(); + // 设置用户ID和当天的零点时间 + workLogger.setUserId(userId.intValue()); + if (workLogger.getLoggerDate()==null) { + workLogger.setLoggerDate(DateUtils.getNowDate()); + } + workLogger.setLoggerDate(DateUtils.toDate(workLogger.getLoggerDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate())); + + // 查询工作日志列表 + List list = workLoggerMapper.list(workLogger); + + // 计算workTime之和 + BigDecimal totalWorkTime = list.stream() + .map(item->new BigDecimal(item.getWorkTime())) // 假设WorkLogger有getWorkTime方法返回BigDecimal + .reduce(BigDecimal.ZERO, BigDecimal::add); + + // 返回总和的字符串表示 + return BigDecimal.ONE.subtract(totalWorkTime).toString(); + } + // 泛型方法,用于生成统计工时的列表,适用于项目统计 private List generateStaticsHourVoList(List items, Map workDayMap, Function idExtractor, Function nameExtractor) { @@ -192,12 +215,12 @@ public class WorkLoggerServiceImpl implements IWorkLoggerService { } // 创建StaticsHourVo对象,计算工时并格式化为字符串 - private StaticsHourVo createStaticsHourVo(String name, BigDecimal workDay,Integer projectId) { + private StaticsHourVo createStaticsHourVo(String name, BigDecimal workTime,Integer projectId) { StaticsHourVo vo = new StaticsHourVo(); vo.setProjectId(projectId); vo.setName(name); // 将总工时除以8,表示为工作日,并保留两位小数 - vo.setWorkDay(workDay); + vo.setWorkTime(workTime); return vo; } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/vo/StaticsHourVo.java b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/vo/StaticsHourVo.java index dfd972c..d9b55e7 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/vo/StaticsHourVo.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/vo/StaticsHourVo.java @@ -22,5 +22,5 @@ public class StaticsHourVo { private Integer projectId; private String name; - private BigDecimal workDay; + private BigDecimal workTime; } diff --git a/pms-business/src/main/resources/mapper/business/Project/ProjectMapper.xml b/pms-business/src/main/resources/mapper/business/Project/ProjectMapper.xml index 891ad46..a3c63a4 100644 --- a/pms-business/src/main/resources/mapper/business/Project/ProjectMapper.xml +++ b/pms-business/src/main/resources/mapper/business/Project/ProjectMapper.xml @@ -41,21 +41,22 @@ @@ -75,7 +76,7 @@ and t1.tenant_id = #{tenantId} - and t1.project_name = #{projectName} + and t1.project_name like concat('%',#{projectName},'%') and t1.project_code = #{projectCode} @@ -96,7 +97,18 @@ and t1.state = #{state} - and t1.project_state = #{projectState} + + + + and t1.start_date ]]> sysdate() + + + and sysdate() between t1.start_date and t1.end_date + + + and t1.end_date sysdate() + + and t1.create_by = #{createBy} @@ -168,6 +180,17 @@ + + diff --git a/pms-business/src/main/resources/mapper/business/WorkLogger/WorkLoggerMapper.xml b/pms-business/src/main/resources/mapper/business/WorkLogger/WorkLoggerMapper.xml index 0f494c4..31293b5 100644 --- a/pms-business/src/main/resources/mapper/business/WorkLogger/WorkLoggerMapper.xml +++ b/pms-business/src/main/resources/mapper/business/WorkLogger/WorkLoggerMapper.xml @@ -8,7 +8,7 @@ - + diff --git a/pms-framework/src/main/java/tech/unissense/pms/framework/aspectj/DataScopeAspect.java b/pms-framework/src/main/java/tech/unissense/pms/framework/aspectj/DataScopeAspect.java index 63a765f..6cd7cec 100644 --- a/pms-framework/src/main/java/tech/unissense/pms/framework/aspectj/DataScopeAspect.java +++ b/pms-framework/src/main/java/tech/unissense/pms/framework/aspectj/DataScopeAspect.java @@ -107,10 +107,10 @@ public class DataScopeAspect { continue; } - if (!StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission))) - { - continue; - } + // if (!StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission))) + // { + // continue; + // } if (DATA_SCOPE_ALL.equals(dataScope)) { sqlString = new StringBuilder(); diff --git a/pms-system/src/main/java/tech/unissense/pms/system/service/impl/SysDeptServiceImpl.java b/pms-system/src/main/java/tech/unissense/pms/system/service/impl/SysDeptServiceImpl.java index 5faef9b..17bfc59 100644 --- a/pms-system/src/main/java/tech/unissense/pms/system/service/impl/SysDeptServiceImpl.java +++ b/pms-system/src/main/java/tech/unissense/pms/system/service/impl/SysDeptServiceImpl.java @@ -42,7 +42,7 @@ public class SysDeptServiceImpl implements ISysDeptService * @return 部门信息集合 */ @Override - @DataScope(deptAlias = "d") + @DataScope(deptAlias = "d",permission = "system:user:list") public List selectDeptList(SysDept dept) { return deptMapper.selectDeptList(dept);