fix: 截止时间显示到时分(任务卡片和钉钉通知)

This commit is contained in:
Your Name 2026-01-15 18:33:35 +08:00
parent 33b6ddd0d7
commit 7f698455eb
2 changed files with 23 additions and 4 deletions

View File

@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.stream.Collectors;
@ -327,6 +328,9 @@ public class TaskApprovalService {
.orderByAsc(TaskItem::getGroupNo)
);
// 时间格式化器:MM月dd日 HH:mm
DateTimeFormatter groupDeadlineFormatter = DateTimeFormatter.ofPattern("MM月dd日 HH:mm");
if (!taskItems.isEmpty()) {
content.append("**任务明细**: \n");
for (TaskItem item : taskItems) {
@ -351,10 +355,16 @@ public class TaskApprovalService {
// 格式化工时显示
String hoursDisplay = formatEstimatedHours(item.getEstimatedHours());
// 格式化截止时间
String groupDeadlineDisplay = "";
if (item.getDeadline() != null) {
groupDeadlineDisplay = " | 截止: " + item.getDeadline().format(groupDeadlineFormatter);
}
content.append(" \n");
content.append("▸ **").append(deptName).append("** | ")
.append(item.getTotalScore()).append("分 | ")
.append(hoursDisplay).append(" \n");
.append(hoursDisplay).append(groupDeadlineDisplay).append(" \n");
// 解析并显示任务类型明细
if (item.getTypeDetails() != null && !item.getTypeDetails().isEmpty()) {
@ -857,6 +867,9 @@ public class TaskApprovalService {
.orderByAsc(TaskItem::getGroupNo)
);
// 时间格式化器:MM月dd日 HH:mm
DateTimeFormatter deadlineFormatter = DateTimeFormatter.ofPattern("MM月dd日 HH:mm");
if (!receiverItems.isEmpty()) {
content.append("**您负责的任务明细**: \n");
for (TaskItem item : receiverItems) {
@ -881,10 +894,16 @@ public class TaskApprovalService {
// 格式化工时显示
String hoursDisplay = formatEstimatedHours(item.getEstimatedHours());
// 格式化截止时间
String deadlineDisplay = "";
if (item.getDeadline() != null) {
deadlineDisplay = " | 截止: " + item.getDeadline().format(deadlineFormatter);
}
content.append(" \n");
content.append("▸ **").append(deptName).append("** | ")
.append(item.getTotalScore()).append("分 | ")
.append(hoursDisplay).append(" \n");
.append(hoursDisplay).append(deadlineDisplay).append(" \n");
// 解析并显示任务类型明细
if (item.getTypeDetails() != null && !item.getTypeDetails().isEmpty()) {

View File

@ -3069,8 +3069,8 @@ const getSubTaskDeadline = (subTask: any) => {
if (subTask.status !== 'in_progress' && subTask.status !== 'completed') return null
// 直接使用后端返回的deadline字段
if (!subTask.deadline) return null
// 格式化为"XX月XX日HH时"
return dayjs(subTask.deadline).format('MM月DD日HH时')
// 格式化为"XX月XX日HH:mm"
return dayjs(subTask.deadline).format('MM月DD日 HH:mm')
}
// 获取任务完成截止时间(用于进行中的任务)