|
|
@@ -80,6 +80,7 @@ module.exports = app => {
|
|
|
async getLastestAuditor(stageId, times, status) {
|
|
|
const sql =
|
|
|
'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, pa.`mobile`, pa.`telephone`, la.audit_type, la.audit_order, la.audit_ledger_id,' +
|
|
|
+ ' la.audit_group, la.audit_group_order, la.audit_group_limit, la.audit_checkno_valid, la.audit_group_need, ' +
|
|
|
' la.`times`, la.`order`, la.`status`, la.`opinion`, la.`begin_time`, la.`end_time` ' +
|
|
|
' FROM ' + this.tableName + ' AS la' +
|
|
|
' Left Join ' + this.ctx.service.projectAccount.tableName + ' AS pa ON la.`aid` = pa.`id`' +
|
|
|
@@ -92,6 +93,7 @@ module.exports = app => {
|
|
|
async getLastestAuditors(stageId, times, status) {
|
|
|
const sql =
|
|
|
'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, pa.`mobile`, pa.`telephone`, la.audit_type, la.audit_order, la.audit_ledger_id,' +
|
|
|
+ ' la.audit_group, la.audit_group_order, la.audit_group_limit, la.audit_checkno_valid, la.audit_group_need, ' +
|
|
|
' la.`times`, la.`order`, la.`status`, la.`opinion`, la.`begin_time`, la.`end_time` ' +
|
|
|
' FROM ' + this.tableName + ' AS la' +
|
|
|
' Left Join ' + this.ctx.service.projectAccount.tableName + ' AS pa ON la.`aid` = pa.`id`' +
|
|
|
@@ -113,6 +115,7 @@ module.exports = app => {
|
|
|
*/
|
|
|
async getAuditors(stageId, times = 1, order_sort = 'asc') {
|
|
|
const sql = 'SELECT la.id, la.aid, la.times, la.order, la.status, la.opinion, la.begin_time, la.end_time, la.audit_type, la.audit_order, la.audit_ledger_id,' +
|
|
|
+ ' la.audit_group, la.audit_group_order, la.audit_group_limit, la.audit_checkno_valid, la.audit_group_need, ' +
|
|
|
' pa.name, pa.company, pa.role, pa.mobile, pa.telephone, pa.sign_path' +
|
|
|
` FROM ${this.tableName} la LEFT JOIN ${this.ctx.service.projectAccount.tableName} pa ON la.aid = pa.id` +
|
|
|
' WHERE la.sid = ? AND la.times = ?' +
|
|
|
@@ -160,7 +163,9 @@ module.exports = app => {
|
|
|
*/
|
|
|
async getCurAuditor(stageId, times = 1) {
|
|
|
const sql =
|
|
|
- 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, pa.`mobile`, pa.`telephone`, la.`times`, la.`order`, la.`status`, la.`opinion`, la.`begin_time`, la.`end_time`, la.audit_type, la.audit_order, la.audit_ledger_id ' +
|
|
|
+ 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, pa.`mobile`, pa.`telephone`, ' +
|
|
|
+ ' la.`times`, la.`order`, la.`status`, la.`opinion`, la.`begin_time`, la.`end_time`, la.audit_type, la.audit_order, la.audit_ledger_id, ' +
|
|
|
+ ' la.audit_group, la.audit_group_order, la.audit_group_limit, la.audit_checkno_valid, la.audit_group_need ' +
|
|
|
' FROM ?? AS la Left Join ?? AS pa On la.`aid` = pa.`id`' +
|
|
|
' WHERE la.`sid` = ? and la.`status` = ? and la.`times` = ?';
|
|
|
const sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, stageId, auditConst.status.checking, times];
|
|
|
@@ -169,7 +174,9 @@ module.exports = app => {
|
|
|
|
|
|
async getCurAuditors(stageId, times = 1) {
|
|
|
const sql =
|
|
|
- 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, pa.`mobile`, pa.`telephone`, la.`times`, la.`order`, la.`status`, la.`opinion`, la.`begin_time`, la.`end_time`, la.audit_type, la.audit_order, la.audit_ledger_id ' +
|
|
|
+ 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, pa.`mobile`, pa.`telephone`, ' +
|
|
|
+ ' la.`times`, la.`order`, la.`status`, la.`opinion`, la.`begin_time`, la.`end_time`, la.audit_type, la.audit_order, la.audit_ledger_id, ' +
|
|
|
+ ' la.audit_group, la.audit_group_order, la.audit_group_limit, la.audit_checkno_valid, la.audit_group_need ' +
|
|
|
' FROM ?? AS la Left Join ?? AS pa On la.`aid` = pa.`id`' +
|
|
|
' WHERE la.`sid` = ? and la.`status` = ? and la.`times` = ?';
|
|
|
const sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, stageId, auditConst.status.checking, times];
|
|
|
@@ -449,10 +456,7 @@ module.exports = app => {
|
|
|
};
|
|
|
const records = [];
|
|
|
auditors.forEach(audit => {
|
|
|
- records.push({
|
|
|
- uid: audit.aid,
|
|
|
- ...defaultNoticeRecord,
|
|
|
- });
|
|
|
+ records.push({ uid: audit.aid, ...defaultNoticeRecord });
|
|
|
});
|
|
|
this.ctx.stage.userAssists.forEach(u => {
|
|
|
records.push({ uid: u.ass_user_id, ...defaultNoticeRecord});
|
|
|
@@ -462,14 +466,32 @@ module.exports = app => {
|
|
|
});
|
|
|
await transaction.insert('zh_notice', records);
|
|
|
|
|
|
- // 更新本人审批状态
|
|
|
- await transaction.update(this.tableName, {
|
|
|
+ const auditUpdateData = [{
|
|
|
id: selfAudit.id,
|
|
|
status: checkData.checkType,
|
|
|
opinion: checkData.opinion,
|
|
|
end_time: time,
|
|
|
- });
|
|
|
- await this.ctx.service.noticeAgain.stopNoticeAgain(transaction, this.tableName, selfAudit.id);
|
|
|
+ }];
|
|
|
+ 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 }); });
|
|
|
+ } 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 });
|
|
|
+ await this.ctx.service.noticeAgain.stopNoticeAgain(transaction, this.tableName, audit.id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 更新本人审批状态
|
|
|
+ await transaction.updateRows(this.tableName, auditUpdateData);
|
|
|
+ for (const au of auditUpdateData) {
|
|
|
+ await this.ctx.service.noticeAgain.stopNoticeAgain(transaction, this.tableName, au.id);
|
|
|
+ }
|
|
|
const stageTp = {
|
|
|
contract_tp: tpData.contract_tp,
|
|
|
qc_tp: tpData.qc_tp,
|
|
|
@@ -479,22 +501,7 @@ module.exports = app => {
|
|
|
sf_tp: sfPay.tp,
|
|
|
};
|
|
|
this.ctx.stage.tp_history.push({ times, order: selfAudit.order, ...stageTp });
|
|
|
- if (audits.length === 1 || selfAudit.audit_type === auditType.key.or) {
|
|
|
- // 或签更新他人审批状态
|
|
|
- if (selfAudit.audit_type === auditType.key.or) {
|
|
|
- const updateOther = [];
|
|
|
- for (const audit of audits) {
|
|
|
- if (audit.aid === selfAudit.aid) continue;
|
|
|
- updateOther.push({
|
|
|
- id: audit.id,
|
|
|
- status: auditConst.status.checkSkip,
|
|
|
- opinion: '',
|
|
|
- end_time: time,
|
|
|
- });
|
|
|
- await this.ctx.service.noticeAgain.stopNoticeAgain(transaction, this.tableName, audit.id);
|
|
|
- }
|
|
|
- if (updateOther.length > 0) transaction.updateRows(this.tableName, updateOther);
|
|
|
- }
|
|
|
+ if (audits.length === auditUpdateData.length) {
|
|
|
// 无下一审核人表示,审核结束
|
|
|
if (nextAudits.length > 0) {
|
|
|
// 复制一份下一审核人数据
|
|
|
@@ -654,7 +661,11 @@ module.exports = app => {
|
|
|
return {
|
|
|
aid: x.aid, tid: selfAudit.tid, sid: selfAudit.sid,
|
|
|
times: times + 1, order: x.audit_order, status: auditConst.status.uncheck,
|
|
|
- audit_type: x.audit_type, audit_order: x.audit_order, audit_ledger_id: x.audit_ledger_id,
|
|
|
+ audit_type: x.audit_type, audit_order: x.audit_order,
|
|
|
+ audit_group: x.audit_group, audit_group_order: x.audit_group_order,
|
|
|
+ audit_group_limit: x.audit_group_limit, audit_checkno_valid: x.audit_checkno_valid,
|
|
|
+ audit_group_need: x.audit_group_need,
|
|
|
+ audit_ledger_id: x.audit_ledger_id,
|
|
|
}
|
|
|
});
|
|
|
|
|
|
@@ -865,6 +876,9 @@ module.exports = app => {
|
|
|
times: x.times, order: selfAudit.order + 1,
|
|
|
status: auditConst.status.checking, begin_time: time,
|
|
|
audit_type: x.audit_type, audit_order: x.audit_order,
|
|
|
+ audit_group: x.audit_group, audit_group_order: x.audit_group_order,
|
|
|
+ audit_group_limit: x.audit_group_limit, audit_checkno_valid: x.audit_checkno_valid,
|
|
|
+ audit_group_need: x.audit_group_need,
|
|
|
audit_ledger_id: x.audit_ledger_id,
|
|
|
});
|
|
|
});
|
|
|
@@ -881,6 +895,9 @@ module.exports = app => {
|
|
|
times: x.times, order: selfAudit.order + 2,
|
|
|
status: auditConst.status.uncheck,
|
|
|
audit_type: x.audit_type, audit_order: x.audit_order,
|
|
|
+ audit_group: x.audit_group, audit_group_order: x.audit_group_order,
|
|
|
+ audit_group_limit: x.audit_group_limit, audit_checkno_valid: x.audit_checkno_valid,
|
|
|
+ audit_group_need: x.audit_group_need,
|
|
|
audit_ledger_id: x.audit_ledger_id,
|
|
|
});
|
|
|
});
|
|
|
@@ -1023,7 +1040,11 @@ module.exports = app => {
|
|
|
times: x.times, order: x.order + 1,
|
|
|
status: !selfAudit || x.aid === selfAudit.aid ? auditConst.status.checkAgain : auditConst.status.checkSkip,
|
|
|
begin_time: time, end_time: time, opinion: '',
|
|
|
- audit_type: x.audit_type, audit_order: x.audit_order, audit_ledger_id: x.audit_ledger_id,
|
|
|
+ audit_type: x.audit_type, audit_order: x.audit_order,
|
|
|
+ audit_group: x.audit_group, audit_group_order: x.audit_group_order,
|
|
|
+ audit_group_limit: x.audit_group_limit, audit_checkno_valid: x.audit_checkno_valid,
|
|
|
+ audit_group_need: x.audit_group_need,
|
|
|
+ audit_ledger_id: x.audit_ledger_id,
|
|
|
});
|
|
|
});
|
|
|
audits.forEach(x => {
|
|
|
@@ -1032,7 +1053,11 @@ module.exports = app => {
|
|
|
times: x.times, order: x.order + 2,
|
|
|
status: auditConst.status.checking,
|
|
|
begin_time: time, end_time: time, opinion: '',
|
|
|
- audit_type: x.audit_type, audit_order: x.audit_order, audit_ledger_id: x.audit_ledger_id,
|
|
|
+ audit_type: x.audit_type, audit_order: x.audit_order,
|
|
|
+ audit_group: x.audit_group, audit_group_order: x.audit_group_order,
|
|
|
+ audit_group_limit: x.audit_group_limit, audit_checkno_valid: x.audit_checkno_valid,
|
|
|
+ audit_group_need: x.audit_group_need,
|
|
|
+ audit_ledger_id: x.audit_ledger_id,
|
|
|
});
|
|
|
});
|
|
|
await transaction.insert(this.tableName, checkAgainAuditors);
|
|
|
@@ -1244,7 +1269,11 @@ module.exports = app => {
|
|
|
times: x.times, order: x.order + 1,
|
|
|
status: x.aid === selfAuditor.aid ? auditConst.status.checkCancel : auditConst.status.checkSkip,
|
|
|
begin_time: time, end_time: time, opinion: '',
|
|
|
- audit_type: x.audit_type, audit_order: x.audit_order, audit_ledger_id: x.audit_ledger_id,
|
|
|
+ audit_type: x.audit_type, audit_order: x.audit_order,
|
|
|
+ audit_group: x.audit_group, audit_group_order: x.audit_group_order,
|
|
|
+ audit_group_limit: x.audit_group_limit, audit_checkno_valid: x.audit_checkno_valid,
|
|
|
+ audit_group_need: x.audit_group_need,
|
|
|
+ audit_ledger_id: x.audit_ledger_id,
|
|
|
});
|
|
|
});
|
|
|
stage.preAuditors.forEach(x => {
|
|
|
@@ -1253,7 +1282,11 @@ module.exports = app => {
|
|
|
times: x.times, order: x.order + 2,
|
|
|
status: auditConst.status.checking,
|
|
|
begin_time: time, end_time: time, opinion: '',
|
|
|
- audit_type: x.audit_type, audit_order: x.audit_order, audit_ledger_id: x.audit_ledger_id,
|
|
|
+ audit_type: x.audit_type, audit_order: x.audit_order,
|
|
|
+ audit_group: x.audit_group, audit_group_order: x.audit_group_order,
|
|
|
+ audit_group_limit: x.audit_group_limit, audit_checkno_valid: x.audit_checkno_valid,
|
|
|
+ audit_group_need: x.audit_group_need,
|
|
|
+ audit_ledger_id: x.audit_ledger_id,
|
|
|
});
|
|
|
});
|
|
|
await transaction.insert(this.tableName, [...checkCancelAuditors, ...checkingAuditors]);
|
|
|
@@ -1346,7 +1379,11 @@ module.exports = app => {
|
|
|
times: x.times, order: x.order + 1,
|
|
|
status: x.aid === selfAuditor.aid ? auditConst.status.checkCancel : auditConst.status.checkSkip,
|
|
|
begin_time: time, end_time: time, opinion: '',
|
|
|
- audit_type: x.audit_type, audit_order: x.audit_order, audit_ledger_id: x.audit_ledger_id,
|
|
|
+ audit_type: x.audit_type, audit_order: x.audit_order,
|
|
|
+ audit_group: x.audit_group, audit_group_order: x.audit_group_order,
|
|
|
+ audit_group_limit: x.audit_group_limit, audit_checkno_valid: x.audit_checkno_valid,
|
|
|
+ audit_group_need: x.audit_group_need,
|
|
|
+ audit_ledger_id: x.audit_ledger_id,
|
|
|
});
|
|
|
});
|
|
|
await transaction.insert(this.tableName, newAuditors);
|
|
|
@@ -1437,7 +1474,11 @@ module.exports = app => {
|
|
|
times: x.times, order: x.order + 1,
|
|
|
status: x.aid === selfAuditor.aid ? auditConst.status.checkCancel : auditConst.status.checkSkip,
|
|
|
begin_time: time, end_time: time, opinion: '',
|
|
|
- audit_type: x.audit_type, audit_order: x.audit_order, audit_ledger_id: x.audit_ledger_id,
|
|
|
+ audit_type: x.audit_type, audit_order: x.audit_order,
|
|
|
+ audit_group: x.audit_group, audit_group_order: x.audit_group_order,
|
|
|
+ audit_group_limit: x.audit_group_limit, audit_checkno_valid: x.audit_checkno_valid,
|
|
|
+ audit_group_need: x.audit_group_need,
|
|
|
+ audit_ledger_id: x.audit_ledger_id,
|
|
|
});
|
|
|
});
|
|
|
stage.preAuditors.forEach(x => {
|
|
|
@@ -1446,7 +1487,11 @@ module.exports = app => {
|
|
|
times: x.times, order: x.order + 2,
|
|
|
status: auditConst.status.checking,
|
|
|
begin_time: time, end_time: time, opinion: '',
|
|
|
- audit_type: x.audit_type, audit_order: x.audit_order, audit_ledger_id: x.audit_ledger_id,
|
|
|
+ audit_type: x.audit_type, audit_order: x.audit_order,
|
|
|
+ audit_group: x.audit_group, audit_group_order: x.audit_group_order,
|
|
|
+ audit_group_limit: x.audit_group_limit, audit_checkno_valid: x.audit_checkno_valid,
|
|
|
+ audit_group_need: x.audit_group_need,
|
|
|
+ audit_ledger_id: x.audit_ledger_id,
|
|
|
});
|
|
|
});
|
|
|
await transaction.insert(this.tableName, [...checkCancelAuditors, ...checkingAuditors]);
|
|
|
@@ -1717,7 +1762,8 @@ module.exports = app => {
|
|
|
// ' WHERE la.`sid` = ? and la.`times` = ? and la.`is_old` = 0 GROUP BY la.`aid` ORDER BY la.`order`';
|
|
|
// const sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, stageId, times];
|
|
|
const sql =
|
|
|
- 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`order`, la.`status`, la.audit_type, la.audit_order, la.audit_ledger_id' +
|
|
|
+ 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`order`, la.`status`, la.audit_type, la.audit_order, ' +
|
|
|
+ ' la.audit_group, la.audit_group_order, la.audit_group_limit, la.audit_group_need, la.audit_checkno_valid, la.audit_ledger_id ' +
|
|
|
' FROM (SELECT `aid`, max(`order`) `order` FROM ?? WHERE `sid` = ? and `times` = ? and `is_old` = ? GROUP BY aid) sa' +
|
|
|
' LEFT JOIN ?? la ON sa.`aid` = la.`aid` AND sa.`order` = la.`order`' +
|
|
|
' Left JOIN ?? AS pa On la.`aid` = pa.`id` WHERE la.`sid` = ? and la.`times` = ? and la.`is_old` = ? order BY la.`order`';
|
|
|
@@ -1766,7 +1812,12 @@ module.exports = app => {
|
|
|
status: auditConst.status.uncheck,
|
|
|
audit_type: a.audit_type,
|
|
|
audit_order: a.audit_order,
|
|
|
- audit_ledger_id: a.audit_ledger_id,
|
|
|
+ audit_group: a.audit_group,
|
|
|
+ audit_group_order: a.audit_group_order,
|
|
|
+ audit_group_limit: a.audit_group_limit,
|
|
|
+ audit_group_need: a.audit_group_need,
|
|
|
+ audit_checkno_valid: a.audit_checkno_valid,
|
|
|
+ audit_ledger_id: a.audit_ledger_id || '',
|
|
|
};
|
|
|
newAuditors.push(na);
|
|
|
}
|
|
|
@@ -1794,14 +1845,16 @@ module.exports = app => {
|
|
|
case auditConst.status.checking:
|
|
|
case auditConst.status.checked:
|
|
|
case auditConst.status.checkNoPre:
|
|
|
- sql = 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`order` ' +
|
|
|
+ sql = 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`order`, la.audit_order, la.audit_type, la.audit_group, la.audit_group_order,' +
|
|
|
+ ' la.audit_group_limit, la.audit_checkno_valid, la.audit_group_need, la.audit_ledger_id ' +
|
|
|
' FROM ?? AS la Left Join ?? AS pa On la.`aid` = pa.`id` ' +
|
|
|
' WHERE la.`sid` = ? and la.`status` = ? order by la.`times` desc, la.`order` desc';
|
|
|
sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, stageId, status];
|
|
|
auditor = await this.db.queryOne(sql, sqlParam);
|
|
|
break;
|
|
|
case auditConst.status.checkNo:
|
|
|
- sql = 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`order` ' +
|
|
|
+ sql = 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`order`, la.audit_order, la.audit_type, la.audit_group, la.audit_group_order, ' +
|
|
|
+ ' la.audit_group_limit, la.audit_checkno_valid, la.audit_group_need, la.audit_ledger_id ' +
|
|
|
' FROM ?? AS la Left Join ?? AS pa On la.`aid` = pa.`id` ' +
|
|
|
' WHERE la.`sid` = ? and la.`status` = ? and la.`times` = ? order by la.`times` desc, la.`order` desc';
|
|
|
sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, stageId, auditConst.status.checkNo, parseInt(times) - 1];
|
|
|
@@ -1826,7 +1879,8 @@ module.exports = app => {
|
|
|
cur = await this.db.queryOne(`SELECT * From ${this.tableName} where sid = ? AND times = ? AND status = ? ORDER By times DESC, ` + '`order` DESC', [stageId, times, status]);
|
|
|
if (!cur) return [];
|
|
|
|
|
|
- sql = 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`order`, la.`status`, la.audit_order, la.audit_type, la.audit_ledger_id ' +
|
|
|
+ sql = 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`order`, la.`status`, la.audit_order, la.audit_type, la.audit_group, la.audit_group_order, ' +
|
|
|
+ ' la.audit_group_limit, la.audit_group_need, la.audit_checkno_valid, la.audit_ledger_id ' +
|
|
|
' FROM ?? AS la Left Join ?? AS pa On la.`aid` = pa.`id` ' +
|
|
|
' WHERE la.`sid` = ? and la.`order` = ? and times = ?';
|
|
|
sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, stageId, cur.order, times];
|
|
|
@@ -1836,7 +1890,8 @@ module.exports = app => {
|
|
|
cur = await this.db.queryOne(`SELECT * From ${this.tableName} where sid = ? AND times = ? AND status = ? ORDER By times DESC, ` + '`order` DESC', [stageId, parseInt(times) - 1, status]);
|
|
|
if (!cur) return [];
|
|
|
|
|
|
- sql = 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`order`, la.`status`, la.audit_order, la.audit_type, la.audit_ledger_id ' +
|
|
|
+ sql = 'SELECT la.`aid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`sid`, la.`order`, la.`status`, la.audit_order, la.audit_type, la.audit_group, la.audit_group_order, ' +
|
|
|
+ ' la.audit_group_limit, la.audit_group_need, la.audit_checkno_valid, la.audit_ledger_id ' +
|
|
|
' FROM ?? AS la Left Join ?? AS pa On la.`aid` = pa.`id` ' +
|
|
|
' WHERE la.`sid` = ? and la.`order` = ? and la.`times` = ?';
|
|
|
sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, stageId, cur.order, parseInt(times) - 1];
|
|
|
@@ -2022,6 +2077,11 @@ module.exports = app => {
|
|
|
times: stage.times, order: auditor.audit_order, status: auditConst.status.uncheck,
|
|
|
audit_type: auditor.audit_type, audit_order: auditor.audit_order,
|
|
|
audit_ledger_id: auditor.audit_type === auditType.key.union ? auditor.audit_ledger_id : '',
|
|
|
+ audit_group: auditor.audit_type === auditType.key.multi ? auditor.audit_group : '',
|
|
|
+ audit_group_order: auditor.audit_type === auditType.key.multi || auditor.audit_type === auditType.key.and ? auditor.audit_group_order : 0,
|
|
|
+ audit_group_limit : auditor.audit_type === auditType.key.multi ? auditor.audit_group_limit : 0,
|
|
|
+ audit_group_need: auditor.audit_type === auditType.key.or ? auditor.audit_group_need : 1,
|
|
|
+ audit_checkno_valid: auditor.audit_type === auditType.key.multi || auditor.audit_type === auditType.key.and ? auditor.audit_checkno_valid : 1,
|
|
|
});
|
|
|
}
|
|
|
if(newAuditors.length > 0) await transaction.insert(this.tableName, newAuditors);
|