🐛 审核通过后再提交强制新建MK表单实例

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-29 02:44:49 +08:00
parent 4641d0a5dd
commit 4418836fcd
+18 -5
View File
@@ -7,46 +7,55 @@ export const MK_BIZ = {
dictName: '提交客商审核流', dictName: '提交客商审核流',
subjectPrefix: '客商准入审批', subjectPrefix: '客商准入审批',
rejected: ['rejected'], rejected: ['rejected'],
approved: ['approved'],
}, },
'project-apply': { 'project-apply': {
dictName: '提交项目审核流', dictName: '提交项目审核流',
subjectPrefix: '项目审批', subjectPrefix: '项目审批',
rejected: ['rejected', 'change_rejected', 'withdrawn'], rejected: ['rejected', 'change_rejected', 'withdrawn'],
approved: ['approved', 'change_approved'],
}, },
'contract-manage': { 'contract-manage': {
dictName: '提交合同审核流', dictName: '提交合同审核流',
subjectPrefix: '合同审批', subjectPrefix: '合同审批',
rejected: ['rejected', 'change_rejected', 'withdrawn'], rejected: ['rejected', 'change_rejected', 'withdrawn'],
approved: ['approved', 'change_approved'],
}, },
'pre-settlement': { 'pre-settlement': {
dictName: '提交预结算审核流', dictName: '提交预结算审核流',
subjectPrefix: '预结算审批', subjectPrefix: '预结算审批',
rejected: ['returned'], rejected: ['returned'],
approved: ['approved'],
}, },
'formal-settlement': { 'formal-settlement': {
dictName: '提交正式结算审核流', dictName: '提交正式结算审核流',
subjectPrefix: '正式结算审批', subjectPrefix: '正式结算审批',
rejected: ['returned'], rejected: ['returned'],
approved: ['approved'],
}, },
'payment-application': { 'payment-application': {
dictName: '提交付款审核流', dictName: '提交付款审核流',
subjectPrefix: '付款审批', subjectPrefix: '付款审批',
rejected: ['returned'], rejected: ['returned'],
approved: ['approved'],
}, },
'invoice-application': { 'invoice-application': {
dictName: '提交开票审核流', dictName: '提交开票审核流',
subjectPrefix: '开票审批', subjectPrefix: '开票审批',
rejected: ['returned'], rejected: ['returned'],
approved: ['approved'],
}, },
'invoice-receipt': { 'invoice-receipt': {
dictName: '提交收票审核流', dictName: '提交收票审核流',
subjectPrefix: '收票审批', subjectPrefix: '收票审批',
rejected: ['returned'], rejected: ['returned'],
approved: ['approved'],
}, },
'bill-payment': { 'bill-payment': {
dictName: '提交汇票付款审核流', dictName: '提交汇票付款审核流',
subjectPrefix: '汇票付款审批', subjectPrefix: '汇票付款审批',
rejected: ['returned'], rejected: ['returned'],
approved: ['approved'],
}, },
}; };
@@ -86,7 +95,7 @@ export async function resolveMkTemplateCode(dictName, list) {
* @param {string} options.bizType 业务类型 * @param {string} options.bizType 业务类型
* @param {string|number} options.bizId 业务主键(后端据此生成/复用 formInstanceId) * @param {string|number} options.bizId 业务主键(后端据此生成/复用 formInstanceId)
* @param {string} [options.subjectName] 标题后缀 * @param {string} [options.subjectName] 标题后缀
* @param {string} [options.approvalStatus] 当前审批状态(驳回态会先 delete) * @param {string} [options.approvalStatus] 当前审批状态(驳回态会先 delete;通过态强制新建实例)
*/ */
export async function submitMkApprovalFlow({ export async function submitMkApprovalFlow({
bizType, bizType,
@@ -106,10 +115,13 @@ export async function submitMkApprovalFlow({
return; return;
} }
const bizIdText = String(bizId); const bizIdText = String(bizId);
// 先查 MK 流程实例:已有数据则不删除、不重新提交 const forceNewFormInstance = (conf.approved || []).includes(approvalStatus);
const existsRes = await hasMkProcessInstance({ bizId: bizIdText }); // 审核通过后再提交必须新建流程;其余场景已有有效实例则跳过
if (existsRes?.data?.data) { if (!forceNewFormInstance) {
return; const existsRes = await hasMkProcessInstance({ bizId: bizIdText });
if (existsRes?.data?.data) {
return;
}
} }
if ((conf.rejected || []).includes(approvalStatus)) { if ((conf.rejected || []).includes(approvalStatus)) {
await processDelete({ bizId: bizIdText }); await processDelete({ bizId: bizIdText });
@@ -123,5 +135,6 @@ export async function submitMkApprovalFlow({
bizId: bizIdText, bizId: bizIdText,
subject, subject,
bizType, bizType,
forceNewFormInstance,
}); });
} }