143 Commits

Author SHA1 Message Date
dk
57061d4f03 fix(工作台-工时、周报、日志管理):
- 修改工时周聚合逻辑,从仅统计周一到周五改为周一到周日
- 修复周末工时分配逻辑,周末工时不参与工作日均摊而是保留在周末
- 修复头像上传时旧头像删除逻辑,通过URL查找文件路径进行删除
- 添加加班工时统计功能,在团队工时周报表中显示批准的加班时间
- 优化未提交报告提醒功能,避免重复发送未读消息的提醒
- 修改周报告提醒的cron表达式,从每周五改为每周日执行
2026-07-14 11:39:45 +08:00
5a2ca23217 refactor(user): 移除用户管理链路接口权限校验
- 移除 getUserManagementRelation 接口的权限码校验注解
- 移除 getUserManagementRelationQuery 接口的权限码校验注解
- 移除 getDirectManager 接口的权限码校验注解
- 移除 getCandidateSubordinateUsers 接口的权限码校验注解
- 移除 getDirectSubordinates 接口的权限码校验注解
- 更新接口文档说明为仅需登录访问
2026-07-14 11:25:27 +08:00
572fc391ee fix(user): 移除用户管理链路查询权限校验
- 将权限要求从 system:user-management-relation:query 改为仅需登录
- 移除 @PreAuthorize 注解对查询接口的权限控制
- 保留树形结构返回功能用于前端展示用户上下级关系
2026-07-14 10:50:26 +08:00
dk
2830b55ffb feat(绩效第二阶段、签名管理): 开发绩效第二阶段、下签功能、用户签名管理。 2026-07-13 22:09:39 +08:00
f77007c4b7 feat(file): 实现文件删除权限控制功能
- 新增 FILE_DELETE_NO_PERMISSION 错误码用于无权删除文件的提示
- 移除控制器层的 @PreAuthorize 注解,将权限校验逻辑下沉到服务层
- 在 FileServiceImpl 中注入 SecurityFrameworkService 进行权限验证
- 实现 validateFileDeletePermission 方法校验删除权限
- 支持上传者本人可删除自己上传的文件,管理员仍保留全局删除权限
- 批量删除时逐个校验权限,任一越权即整体拒绝操作
2026-07-13 16:23:24 +08:00
dk
5b2c6dd94c feat(performance): 优化绩效表合并导出功能
- 移除ZIP压缩功能,改为直接返回合并的Excel文件
- 新增MERGED_EXPORT_CELL_ADDRESSES常量定义合并导出单元格地址
- 添加正则表达式用于匹配和替换被考核人姓名
- 实现基于模板的合并导出功能,支持模板缓存机制
- 添加导出失败时的降级处理和空白页生成
- 实现被考核人姓名的自动填充和单元格值的安全读取
- 优化合并工作簿构建逻辑,移除重复的文件内容加载
- 改进下载文件命名规则,去除编号前缀并调整格式
2026-07-09 16:23:56 +08:00
dk
b6c2311749 feat(performance): 实现绩效表格预填充功能并优化配置管理 2026-07-08 19:59:42 +08:00
0a2d5ba86c docs(guidelines): 更新鉴权规范文档并移除需求服务单元测试
- 在 CLAUDE.md 中补充对象域权限校验的第二种正规写法:属主放行 + 权限码兜底
- 移除 ProductRequirementServiceImplTest.java 文件中的所有单元测试代码
- 更新 ProjectExecutionServiceImpl 添加属主放行的权限校验实现
- 在执行服务中新增 requireExecutionEditDeletePermission 方法处理负责人权限
- 修正执行更新、删除及删除预检接口的权限验证逻辑
2026-07-08 10:57:26 +08:00
2a5e90a4d4 Merge remote-tracking branch 'origin/main' 2026-07-08 10:56:39 +08:00
dk
796c79d58f feat(notify、workReport、Project):
- 移除月报审批请求VO中面谈时间字段的非空验证
- 新增站内信跳转参数常量类NotifyJumpConstants
- 在执行任务分配通知中添加跳转类型和项目ID参数
- 在项目创建通知中添加跳转类型和项目ID参数
- 在任务分配通知中添加跳转类型和项目ID参数
- 添加工作日报内容分隔符常量用于区分不同日期的工作内容
- 修改工作内容拼接方式使用新的分隔符替代分号
2026-07-07 16:48:41 +08:00
d65a7456db docs(project): 设计执行编辑删除权限口径 2026-07-07 15:23:49 +08:00
dk
66c187f3de feat(file、requirement): 优化文件服务和需求管理功能
- 新增按配置ID和路径获取文件的方法
- 实现文件不存在时的404响应处理
- 优化文件上传路径生成逻辑,使用UUID确保文件名安全性
- 添加需求执行选项查询接口和实现
- 支持排除特定状态码的需求分页查询
- 重构需求模块过滤逻辑并提取公共方法
- 修复S3客户端对象键解析问题
2026-07-06 16:50:52 +08:00
dk
9e502e6a80 fix(project): 实现项目和任务实际开始结束日期的自动同步功能。
fix(file): 优化 S3 文件客户端的 URL 处理逻辑。
2026-07-03 17:33:27 +08:00
dk
7f832d819e feat(workreport): 添加工作报告待提交提醒功能
- 新增 selectListByPendingSubmitReminder 方法用于查询待提交的工作报告
- 添加通知模板常量用于待审批通知功能
- 替换 ChronoField 为 IsoFields 以正确处理基于周的年份计算
- 实现个人工作报告待直属上级审批的通知发布逻辑
- 实现项目报告待审批通知的发布功能
- 创建 WorkReportPendingSubmitRemindScheduler 定时任务类
- 实现 WorkReportPendingSubmitRemindService 服务类处理提醒逻辑
- 添加定时任务每晚 8 点检查并提醒逾期未提交的报告
- 支持周报、月报和项目报告三种类型的待提交提醒
- 实现基于截止时间过滤并按创建时间排序的查询逻辑
2026-06
2026-07-02 16:33:33 +08:00
dk
0bd04867b3 Merge remote-tracking branch 'origin/main' 2026-07-01 17:07:09 +08:00
dk
77b660cc34 fix(工作报告、我的绩效、加班申请、日志管理): 优化报表导出逻辑并补充日志用户昵称,团队模式查询现正确包含当前用户数据。 2026-07-01 17:06:44 +08:00
671d43a3f8 refactor(permission): 简化对象权限检查配置
- 移除产品需求查询权限常量定义
- 移除项目需求查询权限常量定义
- 将权限检查注解从具体权限改为通用可访问性检查
- 统一所有查询方法的权限验证方式
- 简化权限检查逻辑,提高代码可维护性
- 减少权限常量定义,降低配置复杂度
2026-06-30 15:57:54 +08:00
dk
79f48bd283 Merge remote-tracking branch 'origin/main' 2026-06-30 13:26:40 +08:00
dk
8b2d660b5e fix(工作报告): 修复导出时文件后缀格式的问题。 2026-06-30 13:26:31 +08:00
dk
30c1a4a13c fix(工作报告、我的绩效、产品/项目、消息通知): 修复已知的一些问题。 2026-06-30 11:58:19 +08:00
9f265c6dd1 feat(feedback): 添加反馈列表按提交人筛选功能
- 在 FeedbackMapper 中添加按创建者筛选的查询条件
- 在 FeedbackPageReqVO 中添加 creator 字段用于接收提交人用户编号参数
- 支持通过提交人用户编号对反馈列表进行精确匹配筛选
- 保持与其他筛选条件的组合查询兼容性
2026-06-29 09:46:09 +08:00
dk
e5b08e4728 fix(工作报告、我的绩效、产品/项目、消息通知): 修复已知的一些问题。 2026-06-28 14:02:56 +08:00
9a61de0273 feat(system): 添加用户意见反馈功能
- 新增意见反馈数据对象和数据库映射
- 实现意见反馈的增删改查和状态更新接口
- 添加意见反馈分类和处理状态字典常量
- 实现意见反馈分页查询和统计功能
- 定义意见反馈相关的请求响应对象
- 添加意见反馈不存在的错误码定义
2026-06-26 16:13:41 +08:00
dk
69e9ea6b9f fix(日志管理): 修复日志管理的一些问题。
fix(项目任务): 任务完成后需要依然能够修改工作日志,但是只能修改工作内容和上传附件;任务完成后,协办人的工作日志不应该能删除、所有任务里的成员不能新增工作日志。
2026-06-25 21:17:57 +08:00
dk
6d7e011b49 feat(我的绩效): 支持多份excel合并为一个大excel的不同sheet页。
fix(我的绩效): 修复非直属上级也能对下属的绩效表,进行编辑/删除/发送等动作的问题。
2026-06-24 17:50:02 +08:00
dk
64e4100c11 fix(产品管理、项目管理、登录密码校验、工作报告): 修复用户们提出的一系列问题。 2026-06-23 17:51:24 +08:00
dk
5cabc7c541 fix(我的绩效): 放开调用/list-self-and-children接口的权限。 2026-06-23 09:39:16 +08:00
dk
b2f8de7f80 fix(我的绩效): 放开调用/direct-subordinates接口的权限。 2026-06-23 09:34:20 +08:00
dk
856668ec25 fix(加班申请、工作报告、我的绩效): 修复一系列bug、对不合理的地方进行调整。 2026-06-22 22:58:03 +08:00
b4f6eab64c config(gateway): 配置中心和日志配置外置到Nacos
- 添加Nacos配置中心依赖并启用配置导入功能
- 将网关日志配置外置到Nacos gateway-server.yaml文件
- 将业务模块日志文件路径配置外置到Nacos rdms-common.yaml
- 在pom.xml中设置addResources为false避免占位符不被替换
- 添加logback-spring.xml配置文件用于日志格式化和滚动策略
- 优化日志配置管理方式,实现按环境统一配置
2026-06-22 14:10:29 +08:00
dk
d2224e0cfc feat(我的绩效): 开发我的绩效功能。 2026-06-21 18:20:58 +08:00
117dd91afd refactor(config): 将配置文件迁移至 Nacos 并优化通知事件
- 移除 application-dev.yaml 和 application-local.yaml 配置文件
- 将 Nacos 配置外置到根 pom 的 nacos.* 属性中
- 添加配置中心文件加载配置(rdms-common.yaml、rdms-common-secret.yaml)
- 网关服务仅用 Nacos 做服务发现,不加载配置中心文件
- 为系统服务添加独有敏感配置(rdms-system-server-secret.yaml)
- 为 mapper 添加 SQL 日志打印配置
- 为 NotifySendEvent 添加操作人用户编号字段用于排除通知
- 修改 NotifySendEvent 构造函数支持操作人排除参数
- 在通知监听器中实现操作人排除逻辑
- 添加操作人排除功能的单元测试
2026-06-17 21:01:11 +08:00
dk
a244ae4ad3 fix(产品需求、项目需求): 修复权限码的语义问题。 2026-06-17 20:47:04 +08:00
dk
e437fe5761 fix(加班申请): 修复加班申请语义错误的问题;分离开加班申请和工作报告关于团队视角的权限码。 2026-06-17 14:20:14 +08:00
dk
9856fcca30 feat(产品需求、项目需求): 支持手动录入"来源业务编号",后端的sourceBizId改为sourceBizCode,也支持按"来源业务编号"搜索。 2026-06-15 11:24:10 +08:00
dk
05deca3b5c feat(工作报告团队视角): 工作报告现在可以查看团队视角了(查看下属)。
fix(工作报告定时生成): 修复工作报告定时生成带来的一些问题。
2026-06-14 23:54:16 +08:00
dk
32cc855cf0 feat(工作报告定时生成): 工作报告现在可以定时生成,并且可以刷新当前报告。 2026-06-13 22:09:49 +08:00
896ef0f127 feat(project): 实现临期逾期告警功能
- 新增告警记录表 rdms_due_alert_record 用于去重控制
- 添加告警相关常量类 DueAlertConstants 和对象类型枚举
- 在各数据访问层增加告警候选查询方法
- 实现告警候选服务类和站内信等级功能
- 添加临期逾期告警模板常量定义
- 扩展站内信发送接口支持消息等级
- 新增未读消息批量查询功能用于重复发送判定
2026-06-13 15:00:36 +08:00
dk
635c18767e fix(工作报告): 修复工作报告存在的若干问题,包过导出时word报告里换行符变成空格符的问题。 2026-06-13 12:46:55 +08:00
41fe5aa5ca feat(project): 新增工作台我的任务功能并优化团队负载统计
- 新增 MyTaskController 提供跨项目的我的任务分页查询接口
- 实现个人事项和任务的团队负载统计功能,支持临期/逾期计数
- 优化任务状态视图服务,支持批量加载生命周期视图
- 新增多用户工时周聚合查询功能
- 完善相关 VO 类定义和数据库映射配置
- 添加单元测试验证批量加载和权限过滤逻辑
2026-06-12 19:50:02 +08:00
54bcf7d8ae fix(workreport): 解决工作报表状态操作错误信息显示内部代码问题
- 引入 StatusActionTextResolver 服务用于解析状态动作名称
- 注入 statusActionTextResolver 依赖实例
- 修改异常抛出逻辑,将内部ActionCode转换为用户友好的中文提示
- 更新工作报表状态转换验证中的错误信息显示方式
- 修复拒绝状态下重新提交操作的错误信息国际化问题
2026-06-11 17:32:57 +08:00
287d0f678a feat(project): 重构项目产品概览统计响应模型支持动态状态看板
- 引入 StatusBoardItemVO 类封装状态看板项,包含状态编码、名称、数量、排序等字段
- 添加 total 字段表示「全部」口径总数,items 字段存储状态看板项列表
- 更新 ProductOverviewSummaryRespVO 和 ProjectOverviewSummaryRespVO 结构
- 移除 ProjectObjectConstants 中的已归档状态常量和默认查询排除状态码集合
- 重写 buildStatusBoardItems 方法实现状态看板项动态构建逻辑
- 调整项目「全部」口径定义,将已取消和已归档状态重新计入统计范围
- 更新相关单元测试验证新字段和统计口径的正确性
- 修改项目分组接口的状态筛选逻辑,使其与新的统计口径保持一致
2026-06-11 13:59:46 +08:00
dk
6807f52ac9 fix(RpcConfiguration): 修复rpc调用没有注册NotifyMessageSendApi.class,导致无法启动的问题。 2026-06-11 11:14:28 +08:00
dk
ed96ac35c8 fix(项目执行): 修复合并代码时误删的方法。 2026-06-11 10:56:03 +08:00
dk
33239700fd fix(加班申请): 去掉撤销相关的状态和动作。
feat(工作报告): 开发工作报告功能,包含导出功能
2026-06-11 09:58:31 +08:00
79591e66be refactor(project): 重构权限常量定义并移除需求进度聚合功能
- 将产品和项目查询权限码统一提取到常量类中
- 移除需求进度聚合计算的相关实现代码
- 更新权限验证注解使用新的常量定义
- 清理相关的单元测试代码
- 更新错误码注释说明
2026-06-11 09:17:21 +08:00
10b7ccdeb0 refactor(project): 重构权限常量定义并移除需求进度聚合功能
- 将产品和项目查询权限码统一提取到常量类中
- 移除需求进度聚合计算的相关实现代码
- 更新权限验证注解使用新的常量定义
- 清理相关的单元测试代码
- 更新错误码注释说明
2026-06-08 17:17:18 +08:00
d7c52e12d7 feat(security): 添加权限检查的可见性兜底功能
- 在 CheckObjectPermission 注解中新增 visibilityFallback 属性,用于读路径的成员/可见性兜底
- 实现 checkPermissionOrVisibility 方法,支持成员权限码验证或用户可见性配置兜底两种方式
- 修改 ObjectPermissionAspect 切面逻辑,增加 visibilityFallback 条件分支处理
- 更新项目执行和任务相关的服务类,在查询注解中启用 visibilityFallback 功能
- 添加完整的单元测试覆盖 visibilityFallback 的各种场景,包括成员权限、可见性配置等
- 集成用户可见性配置 API,支持按方向代码进行可见性判断
2026-06-08 13:16:32 +08:00
ab5b00470c feat(project): 添加项目完成前置校验功能
- 新增 PROJECT_COMPLETE_PRECONDITION_NOT_MET 错误码用于项目完成校验失败提示
- 将任务附件错误码段从 1_008_007 调整至 1_008_010 避免编号冲突
- 添加 PROJECT_ACTION_COMPLETE 常量用于项目完成操作标识
- 在执行完成时触发 onExecutionCompleted 钩子方法用于后续推送逻辑
- 新增 countNonTerminalByProjectId 方法统计项目下非终态执行/需求/任务数量
- 实现 collectCompletionGaps 和 validateProjectCompletable 方法进行项目完成前置校验
- 在项目状态变更时增加对 complete 操作的特殊校验逻辑
- 添加 ProjectRequirementConstants 接口暴露需求对象类型常量供跨类使用
- 新建 SQL 脚本为项目完成校验查询创建必要的数据库索引
- 补充 ProjectServiceImplTest 测试用例验证项目完成校验功能
2026-06-08 09:59:22 +08:00
622b30733e feat(project): 个人事项转项目任务后触发进度重算及对象域权限控制
- 个人事项转为项目根任务后调用项目进度重算功能
- 为产品项目列表查询接口增加对象域鉴权注解
- 引入ProjectService依赖注入以支持进度重算调用
- 导入ProductObjectConstants常量用于对象域权限控制
2026-06-04 20:21:30 +08:00