86 Commits

Author SHA1 Message Date
Your Name
6714a18972 fix: 修复logApproval方法调用 2026-01-20 00:16:04 +08:00
Your Name
33f61843da fix: 添加TaskApprovalService依赖并使用@Lazy解决循环依赖 2026-01-20 00:14:21 +08:00
Your Name
3bbbd20098 feat: 支持一级需求任务明细完善功能
- 修改updatePipelineTask方法允许detailCompleterId编辑任务
- 添加pending_detail_completion状态到允许编辑的状态列表
- 添加handlePrimaryTaskDetailCompletion方法处理明细完善后的状态转换
- 明细完善后任务直接进入接单部门审核流程
- 将determineReceivingLeader方法改为public以便跨服务调用
2026-01-20 00:11:28 +08:00
Your Name
e50a659dd2 fix: 一级需求部门任务流程修复 - 设置正确的任务状态和审核状态,添加通知发送 2026-01-19 23:09:52 +08:00
Your Name
c99a927cca feat: 添加一级需求部门功能
- 新增一级需求部门类型和品牌关联管理
- 新增一级需求部门任务创建、审核、明细完善流程
- 新增一级需求部门数据分析模块
- 任务卡片显示一级需求人信息
- 部门管理增加品牌关联配置
2026-01-19 20:58:09 +08:00
Your Name
f72a06ed22 feat: 需求部门我发起的任务列表增加撤回编辑功能,撤回时同步返还部门积分 2026-01-19 17:51:53 +08:00
Your Name
8789143501 feat: 发布任务页面增加保存草稿功能 2026-01-17 10:40:24 +08:00
Your Name
6fb03d14b9 fix: 接单部门Dashboard已完成任务只统计子任务(与列表显示一致) 2026-01-17 09:45:57 +08:00
Your Name
aee1138de0 fix: 接单部门Dashboard统计应包含主任务+子任务数量 2026-01-16 21:30:35 +08:00
Your Name
66c6507385 fix: Dashboard发布任务数统计排除草稿状态,与数据分析页面保持一致 2026-01-16 21:17:51 +08:00
Your Name
88050b8086 fix: 添加 HashSet import 2026-01-16 17:12:27 +08:00
Your Name
172d1b1cde fix: 修复接单部门筛选支持部门层级
当用户选择父部门筛选时,同时匹配该部门及其所有子部门
- TaskService.getTaskHall 支持部门层级筛选
- TaskItemService.getAvailableItems 支持部门层级筛选
2026-01-16 17:10:54 +08:00
Your Name
9e257caf15 feat: 可接任务页面增加接单部门筛选和显示标签
1. 后端 TaskController/TaskService 增加 filterDeptId 参数支持按接单部门筛选
2. 前端增加接单部门筛选下拉框
3. 任务卡片上显示可接单部门标签
2026-01-16 16:48:58 +08:00
Your Name
130e0afcb2 fix: 修复需求部门进行中任务列表与顶部统计数量不一致
1. 后端新增 excludeStatuses 参数,支持排除指定状态查询
2. 前端需求部门负责人视角使用 excludeStatuses 排除 draft/completed/cancelled
3. 使用后端返回的 total 作为分页总数,确保分页正确
2026-01-16 16:00:32 +08:00
Your Name
0818db76b2 fix: 修复需求部门进行中任务统计与列表显示不一致的问题
需求部门视角的'进行中任务'统计现在包含所有处理中的任务(pending、in_progress、review等),
排除 draft、completed、cancelled 状态,与前端列表显示逻辑保持一致
2026-01-16 15:35:53 +08:00
Your Name
5573a89e41 fix: 修复接单部门审批人选择错误的问题
1. TaskService: 创建子任务时保存用户选择的接单部门(selectedDeptId)到receiver_dept_id
2. TaskApprovalService: 优先从子任务的receiver_dept_id确定接单部门负责人
3. 解决多接单部门时总是取第一个部门负责人的问题
2026-01-16 15:23:24 +08:00
Your Name
67f57d93de fix: 删除任务时同时删除延误扣分记录 2026-01-16 10:42:14 +08:00
Your Name
c1d3e72e4e fix: 修复删除任务时部门积分池不存在导致事务回滚的问题 2026-01-16 10:38:07 +08:00
Your Name
e4ec8a9fc4 fix: 允许在审核未通过之前编辑任务(待审核、被驳回状态都可以编辑) 2026-01-16 10:23:13 +08:00
Your Name
369456a6c6 fix: 修复指派任务和子任务组审核时未设置deadline的问题 2026-01-15 18:44:32 +08:00
Your Name
33b6ddd0d7 feat: 删除任务时回退已完成任务的积分 2026-01-15 18:25:06 +08:00
Your Name
e7822faaca feat: 系统设置增加管理员根据任务编号删除任务功能 2026-01-15 18:12:35 +08:00
Your Name
96bf8aef68 fix: 修复编译错误,使用userService替代userMapper 2026-01-15 17:30:07 +08:00
Your Name
16f035dcee fix: 顶部数据展板根据用户部门类型统计数据-需求部门用户统计发起的任务,接单部门用户统计接收的任务 2026-01-15 17:27:39 +08:00
Your Name
6001679eac fix: 1. 任务数量上限从100提高到10000 2. 流水线任务正确设置主任务的总数量 2026-01-15 17:02:20 +08:00
Your Name
3922d3653b feat: 所有页面积分显示支持小数点后两位
- Analytics.vue: 设计师绩效、用户需求、扣分明细、CSV导出
- DesignerHall.vue: 设计师卡片累计积分
- TaskHall.vue: 任务卡片积分、typeDetails积分
- LeaderWorkbench.vue: 任务积分
- MyTasks.vue: 任务积分
- CreateTask.vue: 预估积分、任务类型积分
- RewardRecords.vue: 累计积分、奖励积分
- Goals.vue: 奖励积分
- IncentiveCenter.vue: 用户积分、奖励积分
- Contests.vue: 竞赛得分、奖励积分
- CheckIn.vue: 历史奖励积分
- ScorePoolManagement.vue: 积分变动
- Achievements.vue: 奖励积分
2026-01-15 15:39:32 +08:00
Your Name
cb2c468513 修复顺序流水线指派模式下同部门多设计师子任务状态更新问题
- 修改updateAssignedPipelineTaskItems方法
- 基于部门序号(从itemNo解析)而不是groupNo来判断第一个部门
- 第一个部门的所有子任务都更新为in_progress状态
- 保留每个子任务预先指定的接收人
2026-01-14 19:09:19 +08:00
Your Name
ed314051d7 修复同部门多设计师审核时显示问题
1. 后端:在typeDetails中保存receiverId和receiverName
2. 前端:审核弹窗支持显示多个预先指定的设计师列表
3. 前端:扩展TaskTypeDetail接口支持receiverId和receiverName
2026-01-14 18:46:04 +08:00
Your Name
9599cf74a8 修复顺序流水线同部门内子任务并行逻辑
1. 修改TaskService创建子任务时的状态设置:
   - 第一个部门的所有子任务都设为pending(可接单)
   - 其他部门的子任务设为locked(锁定)

2. 修改TaskItemService子任务完成后的解锁逻辑:
   - 基于部门序号(从itemNo解析)而不是groupNo
   - 当前部门的所有子任务完成后,才解锁下一个部门的所有子任务
   - 同一部门内的子任务并行执行

3. 新增parseDeptIndexFromItemNo辅助方法:
   - 从子任务编号解析部门序号
   - 支持新格式(TASK...-01-02)和旧格式兼容
2026-01-14 18:18:52 +08:00
Your Name
611677a93b 优化子任务编号格式为两级结构 - 新编号格式:任务编号-部门序号-部门内子任务序号 - 例如:TASK20260114-01-01 表示第1个部门的第1个子任务 - 同一部门内不同设计师的任务会有不同的部门内序号 - 支持创建和更新流水线任务时使用新编号格式 2026-01-14 18:04:41 +08:00
Your Name
0030233062 修复三个任务相关问题 1. 修复驳回任务重新编辑时数据丢失问题 - loadTaskForEdit正确加载流水线任务子任务数据 - 加载预览图和指定设计师信息 2. 同部门多设计师时自动拆分子任务并行 - 分组键改为部门+设计师ID组合 - 不同设计师的任务自动拆分为不同子任务 3. 修复驳回任务重新发布后审核不到的问题 - updatePipelineTask在initApprovalStatus后再次保存任务 - 确保审核状态和审核人ID正确保存到数据库 2026-01-14 17:56:28 +08:00
Your Name
240bb9b4d7 feat: 添加fillSubTaskStats方法的调试日志 2026-01-14 15:23:38 +08:00
Your Name
53d1caf327 fix: 为主任务的子任务列表动态计算deadline - 在TaskService.fillSubTaskStats中为进行中的子任务动态计算deadline 2026-01-14 15:09:55 +08:00
Your Name
5d626b55c9 fix: 修复进行中任务不显示子任务列表模块的问题
后端修改:
- 在TaskItem实体类中添加isPipeline、subTasks、subTaskTotal字段
- 在TaskItemController中添加enrichTaskItemsWithSubTasks方法
- 获取进行中子任务时,自动填充同一主任务的所有子任务信息

前端修改:
- 在mapTaskItemToTask函数中添加isPipeline、subTasks、subTaskTotal字段映射
- 这样前端可以正确显示流水线任务的子任务进度时间线
2026-01-14 14:05:21 +08:00
Your Name
64d9235769 fix: 修复getTaskById方法未填充子任务列表的问题
- 在getTaskById方法中添加fillSubTaskStats调用
- 确保返回的任务详情包含subTasks字段
- 修复前端getTaskDeadline函数无法获取子任务列表导致完成截止时间不显示的问题
2026-01-14 13:49:17 +08:00
Your Name
124e18ab78 feat: 实施工作时间配置系统
- 添加工作时间配置数据库迁移(V12__add_work_hours_config.sql)
- 创建WorkHoursCalculator工具类用于工作时间计算
- 添加工作时间配置API接口(SystemConfigController)
- 修改后端服务使用动态工作时间(TaskService、TaskItemService、TaskApprovalService、AnalyticsService)
- 在Settings.vue中添加工作时间配置UI
- 修改前端时效格式化函数使用动态工作时长(TaskHall.vue、CreateTask.vue)
- 所有时间计算(截止时间、延误扣分、时效格式化)现在使用配置的工作时间,替换硬编码的8小时
2026-01-14 11:40:43 +08:00
Your Name
c01d915539 feat: 统一部门负责人和部门成员的任务卡片显示,确保都包含完整的子任务信息 2026-01-13 16:20:35 +08:00
Your Name
48bf83c5d5 修复指派任务:强制更新所有子任务的接收人,确保设计师能看到被指派的任务卡片 2026-01-13 14:38:46 +08:00
Your Name
ecbbdb7644 修复流水线任务指派时子任务未设置接收人的问题 2026-01-13 14:04:58 +08:00
Your Name
0e87c48d30 fix: 修复getTaskList方法未填充任务关联信息的问题 2026-01-13 13:53:17 +08:00
Your Name
d9ae5e89d8 fix: 修复部门负责人切换接单部门视角后,进行中任务列表同时查询主任务和子任务 2026-01-13 13:37:23 +08:00
Your Name
ddb5e729b9 fix: 修复被驳回流水线任务无法重新编辑的问题,支持PipelineTaskDTO格式更新 2026-01-12 18:21:35 +08:00
Your Name
2f0ec3d622 fix: 修复被驳回任务无法重新编辑的问题,添加权限验证 2026-01-12 16:09:45 +08:00
Your Name
dc4c5558ae fix: 待审核任务列表按用户权限过滤,只显示分配给当前用户的任务 2026-01-12 15:18:46 +08:00
Your Name
863f1ba18e fix: 1.SPU号支持横杠字符 2.部门管理默认折叠树形结构 2026-01-09 12:24:20 +08:00
Your Name
74ce489724 fix: 部门视角下的累计积分统计逻辑 - 需求部门统计消耗积分,接单部门统计获得积分 2026-01-08 18:23:26 +08:00
Your Name
99c2b5631e debug: 添加数据总览统计日志 2026-01-08 18:01:43 +08:00
Your Name
4e20d16a8e fix: 添加缺失的 DepartmentMapper 依赖 2026-01-08 17:55:59 +08:00
Your Name
4ed9a98810 fix: 切换部门后数据总览同步更新
- 后端 getDashboardStats 方法添加 deptId 参数支持
- 需求部门视角:统计该部门发起的任务
- 接单部门视角:统计该部门成员接单的任务
- 前端 loadDashboardStats 在切换部门后传递 deptId
2026-01-08 17:54:17 +08:00
Your Name
03239c27b1 fix: 修复流水线任务卡片接单人显示为空的问题 - fillSubTaskStats方法现在正确填充子任务的receiverName - getCompletedTasks方法也从子任务获取接单人信息 - 显示格式: 单人显示姓名,多人显示'XX等N人' 2026-01-08 17:25:33 +08:00