Bladeren bron

变更方案、申请、立项,批量签字方法调整

MaiXinRong 1 jaar geleden
bovenliggende
commit
56e22e9088
1 gewijzigde bestanden met toevoegingen van 18 en 11 verwijderingen
  1. 18 11
      app/service/role_rpt_rel.js

+ 18 - 11
app/service/role_rpt_rel.js

@@ -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;
         }