|  | @@ -411,7 +411,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                          responseData.data = await ctx.service.stageBills.updateStageBillsCalcType(data.bills.calcType);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                await ctx.service.stage.updateCheckCalcFlag(ctx.stage.id, true);
 | 
	
		
			
				|  |  | +                await ctx.service.stage.updateCheckCalcFlag(ctx.stage, true);
 | 
	
		
			
				|  |  |                  await ctx.service.stage.updateCacheTime(ctx.stage.id);
 | 
	
		
			
				|  |  |                  ctx.body = responseData;
 | 
	
		
			
				|  |  |              } catch (err) {
 | 
	
	
		
			
				|  | @@ -465,7 +465,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                      result.change.data = await ctx.service.stageChange.getLastestStageData(ctx.tender.id,
 | 
	
		
			
				|  |  |                          ctx.stage.id, data.target.bills.id, '-1');
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                await ctx.service.stage.updateCheckCalcFlag(ctx.stage.id, true);
 | 
	
		
			
				|  |  | +                await ctx.service.stage.updateCheckCalcFlag(ctx.stage, true);
 | 
	
		
			
				|  |  |                  await ctx.service.stage.updateCacheTime(ctx.stage.id);
 | 
	
		
			
				|  |  |                  ctx.body = {err: 0, msg: '', data: result};
 | 
	
		
			
				|  |  |              } catch(err) {
 | 
	
	
		
			
				|  | @@ -678,6 +678,15 @@ module.exports = app => {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        async _updateStageCache(ctx, payCalculator) {
 | 
	
		
			
				|  |  | +            await ctx.service.stage.update({
 | 
	
		
			
				|  |  | +                check_calc: false,
 | 
	
		
			
				|  |  | +                contract_tp: payCalculator.cur.contract_tp, qc_tp: payCalculator.cur.qc_tp,
 | 
	
		
			
				|  |  | +                yf_tp: payCalculator.yf.tp,
 | 
	
		
			
				|  |  | +                sf_tp: payCalculator.sf.tp
 | 
	
		
			
				|  |  | +            }, {id: ctx.stage.id});
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          /**
 | 
	
		
			
				|  |  |           * 合同支付 (Get)
 | 
	
		
			
				|  |  |           * @param ctx
 | 
	
	
		
			
				|  | @@ -719,12 +728,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                      // 计算 本期金额
 | 
	
		
			
				|  |  |                      const payCalculator = new PayCalculator(ctx, ctx.stage, ctx.tender.info);
 | 
	
		
			
				|  |  |                      await payCalculator.calculateAll(renderData.dealPay);
 | 
	
		
			
				|  |  | -                    await this.ctx.service.stage.update({
 | 
	
		
			
				|  |  | -                        check_calc: false,
 | 
	
		
			
				|  |  | -                        contract_tp: payCalculator.cur.contract_tp, qc_tp: payCalculator.cur.qc_tp,
 | 
	
		
			
				|  |  | -                        yf_tp: payCalculator.yf.tp,
 | 
	
		
			
				|  |  | -                        sf_tp: payCalculator.sf.tp
 | 
	
		
			
				|  |  | -                    }, {id: this.ctx.stage.id});
 | 
	
		
			
				|  |  | +                    await this._updateStageCache(ctx, payCalculator);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  await this.layout('stage/pay.ejs', renderData, 'stage/pay_modal.ejs');
 | 
	
		
			
				|  |  |              } catch (err) {
 | 
	
	
		
			
				|  | @@ -759,12 +763,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                          await ctx.service.pay.del(data.id);
 | 
	
		
			
				|  |  |                          responseData.data = await ctx.service.stagePay.getStagePays(ctx.stage);
 | 
	
		
			
				|  |  |                          await payCalculator.calculateAll(responseData.data);
 | 
	
		
			
				|  |  | -                        // await this.ctx.service.stage.update({
 | 
	
		
			
				|  |  | -                        //     check_calc: false,
 | 
	
		
			
				|  |  | -                        //     contract_tp: payCalculator.cur.contract_tp, qc_tp: payCalculator.cur.qc_tp,
 | 
	
		
			
				|  |  | -                        //     yf_tp: payCalculator.yf.tp,
 | 
	
		
			
				|  |  | -                        //     sf_tp: payCalculator.sf.tp
 | 
	
		
			
				|  |  | -                        // }, {id: this.ctx.stage.id});
 | 
	
		
			
				|  |  | +                        await this._updateStageCache(ctx, payCalculator);
 | 
	
		
			
				|  |  |                          break;
 | 
	
		
			
				|  |  |                      case 'changeOrder':
 | 
	
		
			
				|  |  |                          responseData.data = await ctx.service.pay.changeOrder(data.id1, data.id2);
 | 
	
	
		
			
				|  | @@ -775,12 +774,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                          if (bReCalc) {
 | 
	
		
			
				|  |  |                              responseData.data = await ctx.service.stagePay.getStagePays(ctx.stage);
 | 
	
		
			
				|  |  |                              await payCalculator.calculateAll(responseData.data);
 | 
	
		
			
				|  |  | -                            // await this.ctx.service.stage.update({
 | 
	
		
			
				|  |  | -                            //     check_calc: false,
 | 
	
		
			
				|  |  | -                            //     contract_tp: payCalculator.cur.contract_tp, qc_tp: payCalculator.cur.qc_tp,
 | 
	
		
			
				|  |  | -                            //     yf_tp: payCalculator.yf.tp,
 | 
	
		
			
				|  |  | -                            //     sf_tp: payCalculator.sf.tp
 | 
	
		
			
				|  |  | -                            // }, {id: this.ctx.stage.id});
 | 
	
		
			
				|  |  | +                            await this._updateStageCache(ctx, payCalculator);
 | 
	
		
			
				|  |  |                          } else {
 | 
	
		
			
				|  |  |                              if (data.updateData instanceof Array) {
 | 
	
		
			
				|  |  |                                  responseData.data = await ctx.service.stagePay.getStagePay(ctx.stage, this.app._.map(responseData.data, 'id'));
 | 
	
	
		
			
				|  | @@ -793,12 +787,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                          await ctx.service.stagePay.save(data.updateData);
 | 
	
		
			
				|  |  |                          responseData.data = await ctx.service.stagePay.getStagePays(ctx.stage);
 | 
	
		
			
				|  |  |                          await payCalculator.calculateAll(responseData.data);
 | 
	
		
			
				|  |  | -                        // await this.ctx.service.stage.update({
 | 
	
		
			
				|  |  | -                        //     check_calc: false,
 | 
	
		
			
				|  |  | -                        //     contract_tp: payCalculator.cur.contract_tp, qc_tp: payCalculator.cur.qc_tp,
 | 
	
		
			
				|  |  | -                        //     yf_tp: payCalculator.yf.tp,
 | 
	
		
			
				|  |  | -                        //     sf_tp: payCalculator.sf.tp
 | 
	
		
			
				|  |  | -                        // }, {id: this.ctx.stage.id});
 | 
	
		
			
				|  |  | +                        await this._updateStageCache(ctx, payCalculator);
 | 
	
		
			
				|  |  |                          break;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 |