|  | @@ -63,26 +63,26 @@ class revisePriceCalc {
 | 
	
		
			
				|  |  |              node.contract_pc_tp = helper.sub(helper.mul(node.pre_contract_qty, node.unit_price, decimal.tp), node.pre_contract_tp);
 | 
	
		
			
				|  |  |              node.qc_pc_tp = helper.sub(helper.mul(node.pre_qc_qty, node.unit_price, decimal.tp), node.pre_qc_tp);
 | 
	
		
			
				|  |  |              node.pc_tp = helper.add(node.contract_pc_tp, node.qc_pc_tp);
 | 
	
		
			
				|  |  | -            node.positive_pc_tp = helper.mul(priceDiff, node.pre_positive_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  | -            node.negative_pc_tp = helper.mul(priceDiff, node.pre_negative_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  | +            node.positive_qc_pc_tp = helper.mul(priceDiff, node.pre_positive_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  | +            node.negative_qc_pc_tp = helper.mul(priceDiff, node.pre_negative_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  |              result.ibData.push({
 | 
	
		
			
				|  |  |                  tid: newStage.tid, sid: newStage.id, sorder: newStage.order, lid: node.id, org_price: node.pre_unit_price,
 | 
	
		
			
				|  |  |                  contract_pc_tp: node.contract_pc_tp, qc_pc_tp: node.qc_pc_tp, pc_tp: node.pc_tp,
 | 
	
		
			
				|  |  | -                positive_pc_tp: node.positive_pc_tp, negative_pc_tp: node.negative_pc_tp,
 | 
	
		
			
				|  |  | +                positive_qc_pc_tp: node.positive_qc_pc_tp, negative_qc_pc_tp: node.negative_qc_pc_tp,
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          if (result.ibData.length > 0) await transaction.insert(this.ctx.service.stageBillsPc.tableName, result.ibData);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        let contract_pc_tp = 0, qc_pc_tp = 0, pc_tp = 0, positive_pc_tp = 0, negative_pc_tp = 0;
 | 
	
		
			
				|  |  | +        let contract_pc_tp = 0, qc_pc_tp = 0, pc_tp = 0, positive_qc_pc_tp = 0, negative_qc_pc_tp = 0;
 | 
	
		
			
				|  |  |          for (const ibc of result.ibData) {
 | 
	
		
			
				|  |  |              contract_pc_tp = helper.add(contract_pc_tp, ibc.contract_pc_tp);
 | 
	
		
			
				|  |  |              qc_pc_tp = helper.add(qc_pc_tp, ibc.qc_pc_tp);
 | 
	
		
			
				|  |  |              pc_tp = helper.add(pc_tp, ibc.pc_tp);
 | 
	
		
			
				|  |  | -            positive_pc_tp = helper.add(positive_pc_tp, ibc.positive_pc_tp);
 | 
	
		
			
				|  |  | -            negative_pc_tp = helper.add(negative_pc_tp, ibc.negative_pc_tp);
 | 
	
		
			
				|  |  | +            positive_qc_pc_tp = helper.add(positive_qc_pc_tp, ibc.positive_qc_pc_tp);
 | 
	
		
			
				|  |  | +            negative_qc_pc_tp = helper.add(negative_qc_pc_tp, ibc.negative_qc_pc_tp);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          await transaction.update(this.ctx.service.stage.tableName,
 | 
	
		
			
				|  |  | -            { id: newStage.id, contract_pc_tp, qc_pc_tp, pc_tp, positive_pc_tp, negative_pc_tp, check_calc: true, cache_time_l: new Date() });
 | 
	
		
			
				|  |  | +            { id: newStage.id, contract_pc_tp, qc_pc_tp, pc_tp, positive_qc_pc_tp, negative_qc_pc_tp, check_calc: true, cache_time_l: new Date() });
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -132,12 +132,12 @@ class revisePriceCalc {
 | 
	
		
			
				|  |  |                  node.contract_pc_tp = helper.sub(helper.mul(node.pre_contract_qty, node.unit_price, decimal.tp), node.pre_contract_tp);
 | 
	
		
			
				|  |  |                  node.qc_pc_tp = helper.sub(helper.mul(node.pre_qc_qty, node.unit_price, decimal.tp), node.pre_qc_tp);
 | 
	
		
			
				|  |  |                  node.pc_tp = helper.add(node.contract_pc_tp, node.qc_pc_tp);
 | 
	
		
			
				|  |  | -                node.positive_pc_tp = helper.mul(priceDiff, node.pre_positive_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  | -                node.negative_pc_tp = helper.mul(priceDiff, node.pre_negative_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  | +                node.positive_qc_pc_tp = helper.mul(priceDiff, node.pre_positive_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  | +                node.negative_qc_pc_tp = helper.mul(priceDiff, node.pre_negative_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  |                  result.bpcData.push({
 | 
	
		
			
				|  |  |                      tid: stage.tid, sid: stage.id, sorder: stage.order, lid: node.id, org_price: node.pre_unit_price,
 | 
	
		
			
				|  |  |                      contract_pc_tp: node.contract_pc_tp, qc_pc_tp: node.qc_pc_tp, pc_tp: node.pc_tp,
 | 
	
		
			
				|  |  | -                    positive_pc_tp: node.positive_pc_tp, negative_pc_tp: node.negative_pc_tp,
 | 
	
		
			
				|  |  | +                    positive_qc_pc_tp: node.positive_qc_pc_tp, negative_qc_pc_tp: node.negative_qc_pc_tp,
 | 
	
		
			
				|  |  |                  });
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          });
 | 
	
	
		
			
				|  | @@ -145,16 +145,16 @@ class revisePriceCalc {
 | 
	
		
			
				|  |  |          await transaction.delete(this.ctx.service.stageBillsPc.tableName, { sid: stage.id });
 | 
	
		
			
				|  |  |          if (result.bpcData.length > 0) await transaction.insert(this.ctx.service.stageBillsPc.tableName, result.bpcData);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        let contract_pc_tp = 0, qc_pc_tp = 0, pc_tp = 0, positive_pc_tp = 0, negative_pc_tp = 0;
 | 
	
		
			
				|  |  | +        let contract_pc_tp = 0, qc_pc_tp = 0, pc_tp = 0, positive_qc_pc_tp = 0, negative_qc_pc_tp = 0;
 | 
	
		
			
				|  |  |          for (const bpc of result.bpcData) {
 | 
	
		
			
				|  |  |              contract_pc_tp = helper.add(contract_pc_tp, bpc.contract_pc_tp);
 | 
	
		
			
				|  |  |              qc_pc_tp = helper.add(qc_pc_tp, bpc.qc_pc_tp);
 | 
	
		
			
				|  |  |              pc_tp = helper.add(pc_tp, bpc.pc_tp);
 | 
	
		
			
				|  |  | -            positive_pc_tp = helper.add(positive_pc_tp, bpc.positive_pc_tp);
 | 
	
		
			
				|  |  | -            negative_pc_tp = helper.add(negative_pc_tp, bpc.negative_pc_tp);
 | 
	
		
			
				|  |  | +            positive_qc_pc_tp = helper.add(positive_qc_pc_tp, bpc.positive_qc_pc_tp);
 | 
	
		
			
				|  |  | +            negative_qc_pc_tp = helper.add(negative_qc_pc_tp, bpc.negative_qc_pc_tp);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          await transaction.update(this.ctx.service.stage.tableName,
 | 
	
		
			
				|  |  | -            { id: stage.id, contract_pc_tp, qc_pc_tp, pc_tp, positive_pc_tp, negative_pc_tp, check_calc: true, cache_time_l: new Date() });
 | 
	
		
			
				|  |  | +            { id: stage.id, contract_pc_tp, qc_pc_tp, pc_tp, positive_qc_pc_tp, negative_qc_pc_tp, check_calc: true, cache_time_l: new Date() });
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -225,8 +225,8 @@ class revisePriceCalc {
 | 
	
		
			
				|  |  |              node.contract_pc_tp = helper.sub(helper.mul(node.pre_contract_qty, node.unit_price, decimal.tp), node.pre_contract_tp);
 | 
	
		
			
				|  |  |              node.qc_pc_tp = helper.sub(helper.mul(node.pre_qc_qty, node.unit_price, decimal.tp), node.pre_qc_tp);
 | 
	
		
			
				|  |  |              node.pc_tp = helper.add(node.contract_pc_tp, node.qc_pc_tp);
 | 
	
		
			
				|  |  | -            node.positive_pc_tp = helper.mul(priceDiff, node.pre_positive_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  | -            node.negative_pc_tp = helper.mul(priceDiff, node.pre_negative_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  | +            node.positive_qc_pc_tp = helper.mul(priceDiff, node.pre_positive_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  | +            node.negative_qc_pc_tp = helper.mul(priceDiff, node.pre_negative_qc_qty, decimal.tp);
 | 
	
		
			
				|  |  |              if (node.cur_id) {
 | 
	
		
			
				|  |  |                  node.cur_contract_tp = helper.mul(node.cur_contract_qty, node.unit_price, decimal.tp);
 | 
	
		
			
				|  |  |                  node.cur_qc_tp = helper.mul(node.cur_qc_qty, node.unit_price, decimal.tp);
 | 
	
	
		
			
				|  | @@ -248,7 +248,7 @@ class revisePriceCalc {
 | 
	
		
			
				|  |  |                  result.bpcData.push({
 | 
	
		
			
				|  |  |                      tid: stage.tid, sid: stage.id, sorder: stage.order, lid: node.id, org_price: node.pre_unit_price,
 | 
	
		
			
				|  |  |                      contract_pc_tp: node.contract_pc_tp, qc_pc_tp: node.qc_pc_tp, pc_tp: node.pc_tp,
 | 
	
		
			
				|  |  | -                    positive_pc_tp: node.positive_pc_tp, negative_pc_tp: node.negative_pc_tp,
 | 
	
		
			
				|  |  | +                    positive_qc_pc_tp: node.positive_qc_pc_tp, negative_qc_pc_tp: node.negative_qc_pc_tp,
 | 
	
		
			
				|  |  |                  });
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          });
 | 
	
	
		
			
				|  | @@ -257,16 +257,16 @@ class revisePriceCalc {
 | 
	
		
			
				|  |  |          await transaction.delete(this.ctx.service.stageBillsPc.tableName, { sid: stage.id });
 | 
	
		
			
				|  |  |          if (result.bpcData.length > 0) await transaction.insert(this.ctx.service.stageBillsPc.tableName, result.bpcData);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        let contract_pc_tp = 0, qc_pc_tp = 0, pc_tp = 0, positive_pc_tp = 0, negative_pc_tp = 0;
 | 
	
		
			
				|  |  | +        let contract_pc_tp = 0, qc_pc_tp = 0, pc_tp = 0, positive_qc_pc_tp = 0, negative_qc_pc_tp = 0;
 | 
	
		
			
				|  |  |          for (const bpc of result.bpcData) {
 | 
	
		
			
				|  |  |              contract_pc_tp = helper.add(contract_pc_tp, bpc.contract_pc_tp);
 | 
	
		
			
				|  |  |              qc_pc_tp = helper.add(qc_pc_tp, bpc.qc_pc_tp);
 | 
	
		
			
				|  |  |              pc_tp = helper.add(pc_tp, bpc.pc_tp);
 | 
	
		
			
				|  |  | -            positive_pc_tp = helper.add(positive_pc_tp, bpc.positive_pc_tp);
 | 
	
		
			
				|  |  | -            negative_pc_tp = helper.add(negative_pc_tp, bpc.negative_pc_tp);
 | 
	
		
			
				|  |  | +            positive_qc_pc_tp = helper.add(positive_qc_pc_tp, bpc.positive_qc_pc_tp);
 | 
	
		
			
				|  |  | +            negative_qc_pc_tp = helper.add(negative_qc_pc_tp, bpc.negative_qc_pc_tp);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          await transaction.update(this.ctx.service.stage.tableName,
 | 
	
		
			
				|  |  | -            { id: stage.id, contract_pc_tp, qc_pc_tp, pc_tp, positive_pc_tp, negative_pc_tp, check_calc: true, cache_time_l: new Date() });
 | 
	
		
			
				|  |  | +            { id: stage.id, contract_pc_tp, qc_pc_tp, pc_tp, positive_qc_pc_tp, negative_qc_pc_tp, check_calc: true, cache_time_l: new Date() });
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 计算修订台账
 |