|  | @@ -399,6 +399,10 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                      tender.ledger_status === auditConst.ledger.status.checkNo || tender.ledger_status === auditConst.ledger.status.uncheck);
 | 
	
		
			
				|  |  |                  const stages = await ctx.service.stage.getValidStages(ctx.tender.id);
 | 
	
		
			
				|  |  |                  const lastStage = stages.length > 0 ? stages[0] : null; // await ctx.service.stage.getLastestStage(ctx.tender.id);
 | 
	
		
			
				|  |  | +                const [change_tp, change_p_tp, change_n_tp] = await ctx.service.change.getChangeTp(tender.id);
 | 
	
		
			
				|  |  | +                tender.change_tp = change_tp;
 | 
	
		
			
				|  |  | +                tender.change_p_tp = change_p_tp;
 | 
	
		
			
				|  |  | +                tender.change_n_tp = change_n_tp;
 | 
	
		
			
				|  |  |                  if (lastStage) {
 | 
	
		
			
				|  |  |                      await this.ctx.service.stage.checkStageGatherData(lastStage, this.ctx.session.sessionUser.is_admin);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -410,7 +414,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                          tender.total_price = sum.total_price;
 | 
	
		
			
				|  |  |                          tender.deal_tp = sum.deal_tp;
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +                    tender.sum = ctx.helper.add(tender.total_price, tender.change_tp);
 | 
	
		
			
				|  |  |                      tender.gather_tp = ctx.helper.sum([lastStage.contract_tp, lastStage.qc_tp, lastStage.pc_tp]);
 | 
	
		
			
				|  |  |                      tender.end_contract_tp = ctx.helper.sum([lastStage.contract_tp, lastStage.pre_contract_tp, lastStage.contract_pc_tp]);
 | 
	
		
			
				|  |  |                      tender.end_qc_tp = ctx.helper.sum([lastStage.qc_tp, lastStage.pre_qc_tp, lastStage.qc_pc_tp]);
 | 
	
	
		
			
				|  | @@ -452,7 +456,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                          tender.total_price = sum.total_price;
 | 
	
		
			
				|  |  |                          tender.deal_tp = sum.deal_tp;
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +                    tender.sum = ctx.helper.add(tender.total_price, tender.change_tp);
 | 
	
		
			
				|  |  |                      if (tender.ledger_status !== auditConst.ledger.status.uncheck) {
 | 
	
		
			
				|  |  |                          const status_name = await this.ctx.service.ledgerAudit.getStatusName(tender.id, tender.ledger_times);
 | 
	
		
			
				|  |  |                          tender.status_users = status_name ? status_name.name : '';
 | 
	
	
		
			
				|  | @@ -463,11 +467,6 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                          tender.status_users = status_name ? status_name.name : '';
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                const [change_tp, change_p_tp, change_n_tp] = await ctx.service.change.getChangeTp(tender.id);
 | 
	
		
			
				|  |  | -                tender.change_tp = change_tp;
 | 
	
		
			
				|  |  | -                tender.change_p_tp = change_p_tp;
 | 
	
		
			
				|  |  | -                tender.change_n_tp = change_n_tp;
 | 
	
		
			
				|  |  | -                tender.sum = ctx.helper.add(tender.total_price, tender.change_tp);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  const tiModel = new tenderInfoModel(ctx);
 | 
	
		
			
				|  |  |                  const gclChapter = await tiModel.gatherChapter();
 |