MaiXinRong 2 月之前
父節點
當前提交
f5685e2e07
共有 1 個文件被更改,包括 11 次插入6 次删除
  1. 11 6
      app/lib/revise_price.js

+ 11 - 6
app/lib/revise_price.js

@@ -137,7 +137,7 @@ class revisePriceCalc {
         // 加载树结构
         const bills = await this.ctx.service.ledger.getData(stage.tid);
         this.ctx.helper.assignRelaData(bills, [
-            { data: curBillsData, fields: ['id', 'contract_qty', 'qc_qty', 'positive_qc_qty', 'negative_qc_qty', 'postil', 'times', 'order'], prefix: 'cur_', relaId: 'lid' },
+            { data: curBillsData, fields: ['id', 'contract_qty', 'qc_qty', 'positive_qc_qty', 'negative_qc_qty', 'postil', 'times', 'order', 'ex_stage_qty1'], prefix: 'cur_', relaId: 'lid' },
             { data: preBillsData, fields: ['id', 'contract_qty', 'contract_tp', 'qc_qty', 'qc_tp', 'unit_price', 'positive_qc_qty', 'negative_qc_qty', 'positive_qc_tp', 'negative_qc_tp'], prefix: 'pre_', relaId: 'lid' },
         ]);
         const billsTree = new Ledger.billsTree(this.ctx, { id: 'ledger_id', pid: 'ledger_pid', order: 'order', level: 'level', rootId: -1, calcFields: [] });
@@ -154,12 +154,13 @@ class revisePriceCalc {
             if (node.children && node.children.length > 0) return;
             // const priceDiff = helper.sub(node.unit_price, node.pre_unit_price);
             // if (!priceDiff) return;
-            if (node.cur_id && (node.cur_contract_qty || node.cur_qc_qty)) {
+            if (node.cur_id && (node.cur_contract_qty || node.cur_qc_qty || node.cur_ex_stage_qty1)) {
                 const cur_contract_tp = helper.mul(node.cur_contract_qty, node.unit_price, decimal.tp);
                 const cur_qc_tp = helper.mul(node.cur_qc_qty, node.unit_price, decimal.tp);
                 const cur_positive_qc_tp = helper.mul(node.cur_positive_qc_qty, node.unit_price, decimal.tp);
                 const cur_negative_qc_tp = helper.mul(node.cur_negative_qc_qty, node.unit_price, decimal.tp);
-                if (cur_contract_tp !== node.cur_contract_tp || cur_qc_tp !== node.cur_qc_tp || cur_positive_qc_tp !== node.cur_positive_qc_tp || cur_negative_qc_tp !== node.cur_positive_qc_tp) {
+                const cur_ex_stage_tp1 = helper.mul(node.cur_ex_stage_qty1, node.unit_price, decimal.tp);
+                if (cur_contract_tp !== node.cur_contract_tp || cur_qc_tp !== node.cur_qc_tp || cur_positive_qc_tp !== node.cur_positive_qc_tp || cur_negative_qc_tp !== node.cur_positive_qc_tp || cur_ex_stage_tp1 !== node.cur_ex_stage_tp1) {
                     result.ibData.push({
                         tid: stage.tid, sid: stage.id, said,
                         lid: node.id,
@@ -168,6 +169,7 @@ class revisePriceCalc {
                         qc_qty: node.cur_qc_qty, qc_tp: cur_qc_tp,
                         positive_qc_qty: node.cur_positive_qc_qty, positive_qc_tp: cur_positive_qc_tp,
                         negative_qc_qty: node.cur_negative_qc_qty, negative_qc_tp: cur_negative_qc_tp,
+                        ex_stage_qty1: node.cur_ex_stage_qty1, ex_stage_tp1: cur_ex_stage_tp1,
                         postil: node.postil,
                     });
                 }
@@ -334,7 +336,7 @@ class revisePriceCalc {
 
         // 加载树结构
         this.ctx.helper.assignRelaData(bills, [
-            { data: curBillsData, fields: ['id', 'contract_qty', 'qc_qty', 'positive_qc_qty', 'negative_qc_qty', 'times', 'order', 'postil'], prefix: 'cur_', relaId: 'lid' },
+            { data: curBillsData, fields: ['id', 'contract_qty', 'qc_qty', 'positive_qc_qty', 'negative_qc_qty', 'times', 'order', 'postil', 'ex_stage_qty1', 'ex_stage_tp1'], prefix: 'cur_', relaId: 'lid' },
             { data: preBillsData, fields: ['id', 'contract_qty', 'contract_tp', 'qc_qty', 'qc_tp', 'unit_price', 'positive_qc_qty', 'negative_qc_qty', 'positive_qc_tp', 'negative_qc_tp'], prefix: 'pre_', relaId: 'lid' },
         ], 'id', true);
         const billsTree = new Ledger.billsTree(this.ctx, { id: 'ledger_id', pid: 'ledger_pid', order: 'order', level: 'level', rootId: -1, calcFields: [] });
@@ -348,17 +350,19 @@ class revisePriceCalc {
         const said = this.ctx.session.sessionUser.accountId;
         billsTree.calculateAll(node => {
             if (node.children && node.children.length > 0) return;
-            if (node.cur_id && (node.cur_contract_qty || node.cur_qc_qty)) {
+            if (node.cur_id && (node.cur_contract_qty || node.cur_qc_qty || node.cur_ex_stage_qty1)) {
                 const cur_contract_tp = helper.mul(node.cur_contract_qty, node.unit_price, decimal.tp);
                 const cur_qc_tp = helper.mul(node.cur_qc_qty, node.unit_price, decimal.tp);
                 const cur_positive_qc_tp = helper.mul(node.cur_positive_qc_qty, node.unit_price, decimal.tp);
                 const cur_negative_qc_tp = helper.mul(node.cur_negative_qc_qty, node.unit_price, decimal.tp);
-                if (cur_contract_tp !== node.cur_contract_tp || cur_qc_tp !== node.cur_qc_tp || cur_positive_qc_tp !== node.cur_positive_qc_tp || cur_negative_qc_tp !== node.cur_positive_qc_tp) {
+                const cur_ex_stage_tp1 = helper.mul(node.cur_ex_stage_qty1, node.unit_price, decimal.tp);
+                if (cur_contract_tp !== node.cur_contract_tp || cur_qc_tp !== node.cur_qc_tp || cur_positive_qc_tp !== node.cur_positive_qc_tp || cur_negative_qc_tp !== node.cur_positive_qc_tp || cur_ex_stage_tp1 !== node.cur_ex_stage_tp1) {
                     if (node.cur_times === stage.times && node.cur_order === 0) {
                         result.ubData.push({
                             id: node.cur_id,
                             contract_tp: cur_contract_tp, qc_tp: cur_qc_tp,
                             positive_qc_tp: cur_positive_qc_tp, negative_qc_tp: cur_negative_qc_tp,
+                            ex_stage_tp1: cur_ex_stage_tp1,
                         });
                     } else {
                         result.ibData.push({
@@ -368,6 +372,7 @@ class revisePriceCalc {
                             qc_qty: node.cur_qc_qty, qc_tp: cur_qc_tp,
                             positive_qc_qty: node.cur_positive_qc_qty, positive_qc_tp: cur_positive_qc_tp,
                             negative_qc_qty: node.cur_negative_qc_qty, negative_qc_tp: cur_negative_qc_tp,
+                            ex_stage_qty1: node.cur_ex_stage_qty1, ex_stage_tp1: cur_ex_stage_tp1,
                             postil: node.cur_postil,
                         });
                     }