Ver código fonte

计算相关

MaiXinRong 2 semanas atrás
pai
commit
1013226df3
1 arquivos alterados com 14 adições e 5 exclusões
  1. 14 5
      app/service/tender_info.js

+ 14 - 5
app/service/tender_info.js

@@ -262,19 +262,24 @@ module.exports = app => {
                     if (!b) continue;
                     const contract_tp = this.ctx.helper.mul(b.unit_price, sb.contract_qty, decimal.tp);
                     const qc_tp = this.ctx.helper.mul(b.unit_price, sb.qc_qty, decimal.tp);
+                    const positive_qc_tp = this.ctx.helper.mul(b.unit_price, sb.positive_qc_qty, decimal.tp);
+                    const negative_qc_tp = this.ctx.helper.mul(b.unit_price, sb.positive_qc_qty, decimal.tp);
                     const ex_stage_tp1 = this.ctx.helper.mul(b.unit_price, sb.ex_stage_qty1, decimal.tp);
-                    if (contract_tp == sb.contract_tp && qc_tp === sb.qc_tp && ex_stage_tp1 === sb.ex_stage_tp1) continue;
+                    if (contract_tp == sb.contract_tp && qc_tp === sb.qc_tp && ex_stage_tp1 === sb.ex_stage_tp1
+                        && positive_qc_tp === sb.positive_qc_tp && negative_qc_tp === sb.negative_qc_tp) continue;
 
                     if (sb.times === stage.times && sb.order === 0) {
                         updateStageBills.push({
-                            id: sb.id, contract_tp, qc_tp, ex_stage_tp1,
+                            id: sb.id, contract_tp, qc_tp, positive_qc_tp, negative_qc_tp, ex_stage_tp1,
                         });
                     } else {
                         insertStageBills.push({
                             tid: stage.tid, lid: sb.lid, sid: stage.id, said: this.ctx.session.sessionUser.accountId,
                             times: stage.times, order: 0,
                             contract_qty: sb.contract_qty, contract_expr: sb.contract_expr, contract_tp,
-                            qc_qty: sb.qc_qty, qc_tp,
+                            qc_qty: sb.qc_qty, qc_tp, qc_minus_qty: sb.qc_minus_qty,
+                            positive_qc_qty: sb.positive_qc_qty, positive_qc_tp: sb.positive_qc_tp,
+                            negative_qc_qty: sb.negative_qc_qty, negative_qc_tp: sb.negative_qc_tp,
                             ex_stage_qty1: sb.ex_stage_qty1, ex_stage_tp1,
                             postil: sb.postil,
                         });
@@ -306,19 +311,23 @@ module.exports = app => {
                     const end_contract_tp = this.ctx.helper.mul(this.ctx.helper.div(end_contract_qty, activeQty), b.total_price, decimal.tp);
                     const contract_tp = preSb ? this.ctx.helper.sub(end_contract_tp, preSb.contract_tp) : end_contract_tp;
                     const qc_tp = this.ctx.helper.mul(b.unit_price, sb.qc_qty, decimal.tp);
+                    const positive_qc_tp = this.ctx.helper.mul(b.unit_price, sb.positive_qc_qty, decimal.tp);
+                    const negative_qc_tp = this.ctx.helper.mul(b.unit_price, sb.positive_qc_qty, decimal.tp);
                     const ex_stage_tp1 = this.ctx.helper.mul(b.unit_price, sb.ex_stage_qty1, decimal.tp);
                     if (contract_tp == sb.contract_tp && qc_tp === sb.qc_tp && ex_stage_tp1 === sb.ex_stage_tp1) continue;
 
                     if (sb.times === stage.times && sb.order === 0) {
                         updateStageBills.push({
-                            id: sb.id, contract_tp, qc_tp, ex_stage_tp1,
+                            id: sb.id, contract_tp, qc_tp, ex_stage_tp1, positive_qc_tp, negative_qc_tp,
                         });
                     } else {
                         insertStageBills.push({
                             tid: stage.tid, lid: sb.lid, sid: stage.id, said: this.ctx.session.sessionUser.accountId,
                             times: stage.times, order: 0,
                             contract_qty: sb.contract_qty, contract_expr: sb.contract_expr, contract_tp,
-                            qc_qty: sb.qc_qty, qc_tp,
+                            qc_qty: sb.qc_qty, qc_tp, qc_minus_qty: sb.qc_minus_qty,
+                            positive_qc_qty: sb.positive_qc_qty, positive_qc_tp: sb.positive_qc_tp,
+                            negative_qc_qty: sb.negative_qc_qty, negative_qc_tp: sb.negative_qc_tp,
                             ex_stage_qty1: sb.ex_stage_qty1, ex_stage_tp1,
                             postil: sb.postil,
                         });