Your Name
|
aabcc77ddb
|
fix: 统一数据分析查询条件,排除草稿和已删除任务
|
2026-01-16 21:04:16 +08:00 |
|
Your Name
|
f685f99688
|
feat: 添加批量更新低时效任务截止时间接口
- 在 AdminTaskService 添加 batchUpdateLowHoursDeadlines 方法
- 批量更新时效低于1小时的任务,使用最低1小时计算截止时间
- 同时处理主任务和子任务
|
2026-01-16 17:32:39 +08:00 |
|
Your Name
|
3d5026b512
|
feat: 任务时效增加最低1小时限制
如果任务汇总时效不足1小时,自动使用1小时作为最低时效
分部门计算,每个部门的子任务都有独立的最低时效限制
|
2026-01-16 17:28:35 +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
|
ff371a6665
|
fix: 修复可接任务筛选接单部门时子任务未正确过滤的问题
1. TaskItemController 增加 filterDeptId 参数
2. TaskItemService 增加按接单部门筛选逻辑
3. TaskItemMapper 增加 selectAvailableItemsByTaskTypes 方法
|
2026-01-16 16:58:16 +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
|
ba0d70cab2
|
修复 Department.getName() 为 getDeptName()
|
2026-01-16 15:03:48 +08:00 |
|
Your Name
|
7c618fd3a4
|
添加多维度分析功能:类目/品牌/接单部门/需求部门/平台维度分析
|
2026-01-16 15:01:17 +08:00 |
|
Your Name
|
50ec7acc56
|
fix: 钉钉登录时总是同步更新用户的真实姓名
|
2026-01-16 13:52:38 +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
|
703c110bff
|
fix: 修复每日进度弹窗无法关闭问题,添加稍后提醒按钮,优化进度验证逻辑; fix: 设计师准时率计算包含子任务
|
2026-01-15 19:07:04 +08:00 |
|
Your Name
|
da2cc25c6e
|
fix: 设计师绩效榜单默认按净积分排序
|
2026-01-15 18:52:38 +08:00 |
|
Your Name
|
dba923271f
|
fix: 修复工作时间配置保存问题,配置不存在时自动创建
|
2026-01-15 18:49:30 +08:00 |
|
Your Name
|
369456a6c6
|
fix: 修复指派任务和子任务组审核时未设置deadline的问题
|
2026-01-15 18:44:32 +08:00 |
|
Your Name
|
7f698455eb
|
fix: 截止时间显示到时分(任务卡片和钉钉通知)
|
2026-01-15 18:33:35 +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
|
6f522a9b95
|
fix: 设计师绩效榜单添加子任务的接单数、完成数和积分统计
|
2026-01-15 16:42:07 +08:00 |
|
Your Name
|
37a35e8cb5
|
feat: 搜索功能支持任务编号,所有页面卡片显示任务编号
1. 后端 TaskMapper 和 TaskItemMapper 增加 task_no 和 item_no 搜索支持
2. 前端搜索框 placeholder 更新为包含任务编号
3. 进行中任务、已完成任务、我发起的任务卡片底部添加任务编号显示
4. 任务编号支持点击复制
|
2026-01-15 16:29:22 +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
|
b47e322870
|
修复接单部门负责人驳回任务时没有通知任务发起人的问题
- 接单部门负责人驳回时,首先通知任务发起人
- 如果需求部门负责人不是发起人,也通知需求部门负责人
- 添加日志记录通知发送情况
|
2026-01-14 19:40:11 +08:00 |
|
Your Name
|
9b5407060a
|
修复流水线任务审核通过后只通知一个设计师的问题
- 新增sendTaskAssignedNotification方法
- 流水线任务审核通过后,遍历第一个部门的所有子任务
- 给每个子任务的设计师都发送钉钉通知
- 每个设计师收到的通知只包含自己负责的任务明细
|
2026-01-14 19:26:14 +08:00 |
|
Your Name
|
cb2c468513
|
修复顺序流水线指派模式下同部门多设计师子任务状态更新问题
- 修改updateAssignedPipelineTaskItems方法
- 基于部门序号(从itemNo解析)而不是groupNo来判断第一个部门
- 第一个部门的所有子任务都更新为in_progress状态
- 保留每个子任务预先指定的接收人
|
2026-01-14 19:09:19 +08:00 |
|
Your Name
|
d3d1320bf4
|
修复预先指定多设计师时审核提交验证问题 - 当已有预先指定的设计师列表时,跳过选择设计师的验证
|
2026-01-14 18:56:56 +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
|
c7728df3fb
|
实现S3分块上传支持大文件 - 超过10MB的文件使用分块上传(Multipart Upload) - 每个分块5MB,支持最大5GB文件 - 解决S3服务商413错误
|
2026-01-14 17:07:30 +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
|
72da0d8ffe
|
debug: 改为INFO级别日志
|
2026-01-14 14:32:06 +08:00 |
|
Your Name
|
8aa4725d53
|
debug: 添加子任务deadline计算日志
|
2026-01-14 14:29:33 +08:00 |
|
Your Name
|
6ff115296f
|
fix: 为没有deadline的进行中子任务动态计算deadline
在enrichTaskItemsWithSubTasks方法中,为没有deadline的进行中子任务
使用updateTime + estimatedHours动态计算deadline,确保展开的
子任务详情列表中能显示完成截止时间
|
2026-01-14 14:25:05 +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
|
7390289f1a
|
feat: 实现子任务deadline后端计算和存储功能
- 添加task_item表的deadline字段(数据库迁移V13)
- 在TaskItem实体类中添加deadline字段
- 更新TaskItemMapper.grabItem()方法支持deadline参数
- 在TaskItemService.grabItem()中使用WorkHoursCalculator计算deadline
- 更新前端TaskItem接口添加deadline字段
- 修改前端getSubTaskDeadline函数直接使用后端返回的deadline
|
2026-01-14 12:02:50 +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
|
665369bb17
|
修复扣分不一致问题:排行榜也计算子任务延误扣分;增加弹窗宽度并修复滚动条样式
|
2026-01-14 10:19:12 +08:00 |
|
Your Name
|
d2768d5264
|
添加日志确认近一月计算逻辑
|
2026-01-13 19:48:33 +08:00 |
|
Your Name
|
e9a090963a
|
修改近一月计算逻辑:从当月1号开始计算,而不是往前推一个月
|
2026-01-13 19:40:12 +08:00 |
|