|
@@ -192,6 +192,22 @@ module.exports = app => {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 拷贝一份台账备份(每一次审批结束时)
|
|
|
+ * @param {Number} tenderId - 标段Id
|
|
|
+ * @param transaction - 事务
|
|
|
+ * @param {Number} times - 次数
|
|
|
+ * @returns {Promise<void>}
|
|
|
+ * @private
|
|
|
+ */
|
|
|
+ async _copyHisytoryLedger(tenderId, transaction, times = 1) {
|
|
|
+ const sql = 'Insert Into ?? ' +
|
|
|
+ 'Select *, ? As times From ?? ' +
|
|
|
+ 'Where ?? = ?';
|
|
|
+ const sqlParam = [this.tableName + '_copy', times, this.ctx.service.ledger.tableName, 'tender_id', tenderId];
|
|
|
+ return await transaction.query(sql, sqlParam);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 审批
|
|
|
* @param {Number} tenderId - 标段id
|
|
|
* @param {auditConst.status.checked|auditConst.status.checkNo} checkType - 审批结果
|
|
@@ -221,6 +237,8 @@ module.exports = app => {
|
|
|
} else {
|
|
|
// 同步标段信息
|
|
|
await transaction.update(this.ctx.service.tender.tableName, {id: tenderId, ledger_status: checkType});
|
|
|
+ // 拷贝备份台账数据
|
|
|
+ await this._copyHisytoryLedger(tenderId, times);
|
|
|
}
|
|
|
} else {
|
|
|
// 同步标段信息
|
|
@@ -235,6 +253,8 @@ module.exports = app => {
|
|
|
a.status = auditConst.status.uncheck;
|
|
|
}
|
|
|
await transaction.insert(this.tableName, auditors);
|
|
|
+ // 拷贝备份台账数据
|
|
|
+ await this._copyHisytoryLedger(tenderId, times);
|
|
|
}
|
|
|
|
|
|
await transaction.commit();
|