|
@@ -133,6 +133,17 @@ module.exports = app => {
|
|
|
return rst;
|
|
|
}
|
|
|
|
|
|
+ async createRoleRela(transaction, data, content) {
|
|
|
+ const insertData = JSON.parse(JSON.stringify(data));
|
|
|
+ insertData.business_type = rptArchiveConst.getBusinessType(sid);
|
|
|
+ insertData.rel_content = JSON.stringify(content);
|
|
|
+ if (transaction) {
|
|
|
+ await transaction.insert(this.tableName, insertData);
|
|
|
+ } else {
|
|
|
+ await this.db.insert(this.tableName, insertData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async createRoleRelationshipFromOtherBz(tender_id, sid, currentBzId, preBzId, cleanSignDate = true) {
|
|
|
// 此方法适合变更令相关业务
|
|
|
if (preBzId && currentBzId) {
|
|
@@ -229,24 +240,20 @@ module.exports = app => {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- async updateMultiOtherRoleRelationship(orgParams, srcKey, newRelArr) {
|
|
|
- this.transaction = await this.db.beginTransaction();
|
|
|
+ async updateMultiOtherRoleRelationship(orgParams, newRelArr) {
|
|
|
+ const conn = await this.db.beginTransaction();
|
|
|
try {
|
|
|
for (let idx = 0; idx < orgParams.length; idx++) {
|
|
|
const param = orgParams[idx];
|
|
|
// 变更令的参数结构有些不一样
|
|
|
// [tenderId, '-300', changeCid, reportId];
|
|
|
- const tenderId = param[0];
|
|
|
- const sid = param[1];
|
|
|
- const businessId = param[2];
|
|
|
- const rptId = param[3];
|
|
|
- const data = { tender_id: tenderId, sid, business_id: businessId, rpt_id: rptId };
|
|
|
- await this.transaction.delete(this.tableName, data);
|
|
|
- await this.createRoleRelationship(tenderId, rptId, sid, businessId, srcKey, newRelArr);
|
|
|
+ const data = { tender_id: param[0], sid: param[1], business_id: param[2], rpt_id: param[3] };
|
|
|
+ await conn.delete(this.tableName, data);
|
|
|
+ await this.createRoleRela(conn, data, newRelArr);
|
|
|
}
|
|
|
- this.transaction.commit();
|
|
|
+ await conn.commit();
|
|
|
} catch (ex) {
|
|
|
- await this.transaction.rollback();
|
|
|
+ await conn.rollback();
|
|
|
}
|
|
|
return true;
|
|
|
}
|