feat(P17B-1,P17B-2): 补齐采购预算闭环与归档模型接口

这个提交包含在:
2026-03-07 22:00:50 +08:00
父节点 019423776e
当前提交 033cfd6833
共修改 8 个文件,包含 578 行新增和 5 行删除
+22
查看文件
@@ -4,6 +4,7 @@ const { sendData } = require("../utils/reply");
const { resolvePermissionsForRoles, hasPermission, ROLE_PERMISSIONS, resolveEntityPermission } = require("../constants/permissions");
const { getWorkflowStepsSnapshot, resolveActionableStep, toMoneyString } = require("../utils/workflow");
const { consumeReservedLeave, releaseReservedLeave, formatDateOnly } = require("../services/leave");
const { confirmBudgetForEntity, releaseReservedBudgetIfAny } = require("../services/purchaseBudget");
const {
createNotifications,
resolveRecipientsForAssignee,
@@ -1170,6 +1171,13 @@ async function workflowRoutes(fastify) {
updated_by: request.employee.id,
},
});
await confirmBudgetForEntity(tx, {
entityType: "purchase_request",
entityId: workflowInstance.entity_id,
actorId: request.employee.id,
note: "approved_confirm_purchase_budget",
});
}
await tx.workflowHistory.create({
@@ -1351,6 +1359,13 @@ async function workflowRoutes(fastify) {
updated_by: request.employee.id,
},
});
await releaseReservedBudgetIfAny(tx, {
entityType: "purchase_request",
entityId: workflowInstance.entity_id,
actorId: request.employee.id,
note: "rejected_release_purchase_budget",
});
}
await tx.workflowHistory.create({
@@ -1531,6 +1546,13 @@ async function workflowRoutes(fastify) {
updated_by: request.employee.id,
},
});
await releaseReservedBudgetIfAny(tx, {
entityType: "purchase_request",
entityId: workflowInstance.entity_id,
actorId: request.employee.id,
note: "returned_release_purchase_budget",
});
}
await tx.workflowHistory.create({