|
|
@@ -471,18 +471,19 @@ module.exports = app => {
|
|
|
status: checkData.checkType,
|
|
|
opinion: checkData.opinion,
|
|
|
end_time: time,
|
|
|
+ audit_locked_lid: '',
|
|
|
}];
|
|
|
if (selfAudit.audit_type === auditType.key.multi || (selfAudit.audit_type === auditType.key.and && selfAudit.audit_group_order)) {
|
|
|
const skipAudit = flowAudits.filter(x => {
|
|
|
if (!selfAudit.audit_group_order || x.id === selfAudit.id) return false;
|
|
|
return x.status === auditConst.status.checking && x.audit_group === selfAudit.audit_group && x.audit_group_order <= selfAudit.audit_group_order;
|
|
|
});
|
|
|
- if (skipAudit.length > 0) skipAudit.forEach(x => { auditUpdateData.push({ id: x.id, status: auditConst.status.checkSkip, opinion: '', end_time: time }); });
|
|
|
+ if (skipAudit.length > 0) skipAudit.forEach(x => { auditUpdateData.push({ id: x.id, status: auditConst.status.checkSkip, opinion: '', end_time: time, audit_locked_lid: '' }); });
|
|
|
} else if (selfAudit.audit_type === auditType.key.or) {
|
|
|
if (flowAudits.length - audits.length + 1 >= selfAudit.audit_group_need) {
|
|
|
for (const audit of audits) {
|
|
|
if (audit.aid === selfAudit.aid) continue;
|
|
|
- auditUpdateData.push({ id: audit.id, status: auditConst.status.checkSkip, opinion: '', end_time: time });
|
|
|
+ auditUpdateData.push({ id: audit.id, status: auditConst.status.checkSkip, opinion: '', end_time: time, audit_locked_lid: '' });
|
|
|
await this.ctx.service.noticeAgain.stopNoticeAgain(transaction, this.tableName, audit.id);
|
|
|
}
|
|
|
}
|
|
|
@@ -674,6 +675,7 @@ module.exports = app => {
|
|
|
audit_group_need: x.audit_group_need,
|
|
|
audit_ledger_id: x.audit_ledger_id,
|
|
|
audit_locked: locked,
|
|
|
+ audit_locked_lid: x.aid === selfAudit.aid ? checkData.audit_locked_lid || '' : '',
|
|
|
}
|
|
|
});
|
|
|
|
|
|
@@ -910,6 +912,7 @@ module.exports = app => {
|
|
|
audit_ledger_id: x.audit_ledger_id,
|
|
|
audit_locked: locked,
|
|
|
begin_time: locked ? x.begin_time : null, end_time: locked ? x.end_time : null,
|
|
|
+ audit_locked_lid: x.aid === selfAudit.aid ? checkData.audit_locked_lid || '' : '',
|
|
|
});
|
|
|
});
|
|
|
await transaction.insert(this.tableName, newFlowAuditors);
|
|
|
@@ -2384,7 +2387,7 @@ module.exports = app => {
|
|
|
}
|
|
|
|
|
|
async getAuditLockedId(stage) {
|
|
|
- return await this.db.query(`SELECT * FROM ${this.tableName} where sid = ? and times = ? and audit_locked_lid <> ''`, [stage.id, stage.times]);
|
|
|
+ return await this.db.query(`SELECT * FROM ${this.tableName} where sid = ? and times = ? and audit_locked_lid <> '' and status <> ?`, [stage.id, stage.times, auditConst.status.checking]);
|
|
|
}
|
|
|
|
|
|
/**
|