|  | @@ -51,16 +51,18 @@ module.exports = app => {
 | 
	
		
			
				|  |  |              const auditors = await this.getAuditGroupByList(preDetail.id, preDetail.times);
 | 
	
		
			
				|  |  |              const newAuditors = [];
 | 
	
		
			
				|  |  |              for (const a of auditors) {
 | 
	
		
			
				|  |  | -                const na = {
 | 
	
		
			
				|  |  | -                    tender_id: preDetail.tender_id,
 | 
	
		
			
				|  |  | -                    tr_id: preDetail.tr_id,
 | 
	
		
			
				|  |  | -                    td_id: newDetail.id,
 | 
	
		
			
				|  |  | -                    aid: a.aid,
 | 
	
		
			
				|  |  | -                    times: newDetail.times,
 | 
	
		
			
				|  |  | -                    order: newAuditors.length + 1,
 | 
	
		
			
				|  |  | -                    status: auditConst.status.uncheck,
 | 
	
		
			
				|  |  | -                };
 | 
	
		
			
				|  |  | -                newAuditors.push(na);
 | 
	
		
			
				|  |  | +                if (a.aid !== newDetail.uid) {
 | 
	
		
			
				|  |  | +                    const na = {
 | 
	
		
			
				|  |  | +                        tender_id: preDetail.tender_id,
 | 
	
		
			
				|  |  | +                        tr_id: preDetail.tr_id,
 | 
	
		
			
				|  |  | +                        td_id: newDetail.id,
 | 
	
		
			
				|  |  | +                        aid: a.aid,
 | 
	
		
			
				|  |  | +                        times: newDetail.times,
 | 
	
		
			
				|  |  | +                        order: newAuditors.length + 1,
 | 
	
		
			
				|  |  | +                        status: auditConst.status.uncheck,
 | 
	
		
			
				|  |  | +                    };
 | 
	
		
			
				|  |  | +                    newAuditors.push(na);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              const result = await transaction.insert(this.tableName, newAuditors);
 | 
	
		
			
				|  |  |              return (result.effectRows = auditors.length);
 | 
	
	
		
			
				|  | @@ -423,6 +425,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          async _checkNo(pid, detailId, checkData, times) {
 | 
	
		
			
				|  |  |              const time = new Date();
 | 
	
		
			
				|  |  | +            const detailInfo = await ctx.service.paymentDetail.getDataById(detailId);
 | 
	
		
			
				|  |  |              // 整理当前流程审核人状态更新
 | 
	
		
			
				|  |  |              const audit = await this.getDataByCondition({ td_id: detailId, times, status: auditConst.status.checking });
 | 
	
		
			
				|  |  |              if (!audit) {
 | 
	
	
		
			
				|  | @@ -438,6 +441,11 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                  a.status = auditConst.status.uncheck;
 | 
	
		
			
				|  |  |                  order++;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            // 可能更换了上报人且存在于审批流程中,需要删除
 | 
	
		
			
				|  |  | +            const userIndex = this._.findIndex(auditors, { aid: detailInfo.uid });
 | 
	
		
			
				|  |  | +            if (userIndex !== -1) {
 | 
	
		
			
				|  |  | +                auditors.splice(userIndex, 1);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              const transaction = await this.db.beginTransaction();
 | 
	
		
			
				|  |  |              try {
 | 
	
		
			
				|  |  |                  await transaction.update(this.tableName, { id: audit.id, status: checkData.checkType, opinion: checkData.opinion, end_time: time });
 |