R35-2 审批通知补结构化摘要
这个提交包含在:
@@ -10,6 +10,10 @@ const { reserveBudgetForEntity, releaseReservedBudgetIfAny } = require("../servi
|
||||
const { parseWorkflowSteps, resolveActionableStep } = require("../utils/workflow");
|
||||
const { sendNotificationEmailSafe } = require("../services/email");
|
||||
const { createNotifications, resolveRecipientsForAssignee } = require("../services/notifications");
|
||||
const {
|
||||
buildPendingTaskCopy,
|
||||
buildWorkflowEntityMeta,
|
||||
} = require("../services/notifications/workflowCopy");
|
||||
const { enqueueImNotifications } = require("../services/notifications/imEnqueue");
|
||||
const { buildTravelPaymentTrack } = require("../services/travelPayments");
|
||||
const { FEATURE_FLAG_KEYS, evaluateFeatureFlag } = require("../services/featureFlags");
|
||||
@@ -589,6 +593,12 @@ async function loadTravelRequestForUpdate(tx, travelRequestId) {
|
||||
end_date: true,
|
||||
estimated_amount: true,
|
||||
status: true,
|
||||
applicant: {
|
||||
select: {
|
||||
id: true,
|
||||
name: true,
|
||||
},
|
||||
},
|
||||
segments: {
|
||||
orderBy: [{ sort_order: "asc" }, { created_at: "asc" }],
|
||||
select: { id: true },
|
||||
@@ -1126,8 +1136,18 @@ async function createTravelRequestsRoutes(fastify) {
|
||||
assigneeId: workflowTask.assignee_id,
|
||||
assigneeRole: workflowTask.assignee_role,
|
||||
});
|
||||
const title = `【待办】差旅申请 ${requestNo} 待审批`;
|
||||
const body = `差旅申请 ${requestNo} 已提交,请及时处理。`;
|
||||
const pendingCopy = buildPendingTaskCopy(
|
||||
buildWorkflowEntityMeta(
|
||||
"travel_request",
|
||||
{
|
||||
request_no: requestNo,
|
||||
estimated_amount: travelRequest.estimated_amount,
|
||||
applicant: travelRequest.applicant,
|
||||
},
|
||||
travelRequestId,
|
||||
),
|
||||
);
|
||||
const { title, body } = pendingCopy;
|
||||
|
||||
await createNotifications(tx, {
|
||||
recipientEmployeeIds: recipients,
|
||||
|
||||
在新工单中引用
屏蔽一个用户