Browse Source

fix: BUG #3915 调整

Tony Kang 2 months ago
parent
commit
49ac62594b
2 changed files with 12 additions and 4 deletions
  1. 5 1
      app/controller/stage_controller.js
  2. 7 3
      app/service/role_rpt_rel.js

+ 5 - 1
app/controller/stage_controller.js

@@ -1492,6 +1492,8 @@ module.exports = app => {
                 }
 
                 await ctx.service.stageAudit.start(ctx.stage.id, ctx.stage.times);
+                const rstMsg = await ctx.service.roleRptRel.refreshSignatureDate(ctx.tender.data.id, ctx.stage.id, 'stage', -1, [ctx.stage.user_id]);
+                // console.log(rstMsg);
                 ctx.body = { err: 0, msg: '', data: [] };
             } catch (err) {
                 this.log(err);
@@ -1526,7 +1528,7 @@ module.exports = app => {
 
                 await ctx.service.stageAudit.check(ctx.stage.id, data, ctx.stage.times);
                 // // 这里要调用签名的service,重设签名日期
-                const rstMsg = await ctx.service.roleRptRel.refreshSignatureDate(ctx.tender.data.id, ctx.stage.id, 'stage', -1);
+                const rstMsg = await ctx.service.roleRptRel.refreshSignatureDate(ctx.tender.data.id, ctx.stage.id, 'stage', -1, [ctx.session.sessionUser.accountId]);
                 // console.log(rstMsg);
                 ctx.body = { err: 0, msg: '', data: [] };
             } catch (err) {
@@ -1568,6 +1570,8 @@ module.exports = app => {
                 if ((ctx.stage.finalAuditorIds.indexOf(ctx.session.sessionUser.accountId) >= 0 || (ctx.query.confirm === '确认设置终审审批' && ctx.session.sessionUser.is_admin)) && ctx.stage.status === auditConst.status.checked && ctx.stage.order === ctx.stage.highOrder) {
                     await ctx.service.stageAudit.checkAgain(ctx.stage.id, ctx.stage.times, (ctx.query.confirm === '确认设置终审审批' && ctx.session.sessionUser.is_admin));
                     // ctx.redirect(ctx.request.header.referer);
+                    const rstMsg = await ctx.service.roleRptRel.refreshSignatureDate(ctx.tender.data.id, ctx.stage.id, 'stage', -1, [ctx.session.sessionUser.accountId]);
+                    // console.log(rstMsg);
                     ctx.body = {
                         err: 0,
                         url: ctx.request.header.referer,

+ 7 - 3
app/service/role_rpt_rel.js

@@ -327,7 +327,7 @@ module.exports = app => {
         }
 
         // 此方法是给审批退回后,更新签名日期用的(因为审批退回后,之前的签名日期就废了,需要重新通过)
-        async refreshSignatureDate(tender_id, sid, business_type, business_id, rpt_id = null) {
+        async refreshSignatureDate(tender_id, sid, business_type, business_id, acc_id = [], rpt_id = null) {
             this.initSqlBuilder();
             this.sqlBuilder.setAndWhere('tender_id', {
                 value: tender_id,
@@ -359,8 +359,12 @@ module.exports = app => {
             for (let idx = 0; idx < list.length; idx++) {
                 const ud_rpt_id = list[idx].rpt_id;
                 const ud_rel_content = JSON.parse(list[idx].rel_content);
+                let updateMsg = '更新失败';
                 for (let rIdx = 0; rIdx < ud_rel_content.length; rIdx++) {
-                    ud_rel_content[rIdx].sign_date = '';
+                    if (acc_id.includes(ud_rel_content[rIdx].acc_id)) {
+                        ud_rel_content[rIdx].sign_date = '';
+                        updateMsg = '更新成功';
+                    }
                 }
                 const data = {
                     id: list[idx].id,
@@ -375,7 +379,7 @@ module.exports = app => {
                 try {
                     await this.transaction.update(this.tableName, data);
                     await this.transaction.commit();
-                    rstMsg.push({ tender_id, sid, business_type, business_id, rpt_id: ud_rpt_id, msg: '更新成功' });
+                    rstMsg.push({ tender_id, sid, business_type, business_id, rpt_id: ud_rpt_id, msg: updateMsg });
                 } catch (ex) {
                     console.log(ex);
                     rstMsg.push({ tender_id, sid, business_type, business_id, rpt_id: ud_rpt_id, errMsg: ex.toString(), msg: '更新失败' });