소스 검색

重新审批,计算本期正负变更相关

MaiXinRong 2 년 전
부모
커밋
3fb7ae5d66
1개의 변경된 파일15개의 추가작업 그리고 8개의 파일을 삭제
  1. 15 8
      app/lib/revise_price.js

+ 15 - 8
app/lib/revise_price.js

@@ -102,7 +102,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', 'postil', 'times', 'order'], prefix: 'cur_', relaId: 'lid' },
+            { data: curBillsData, fields: ['id', 'contract_qty', 'qc_qty', 'positive_qc_qty', 'negative_qc_qty', 'postil', 'times', 'order'], 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: [] });
@@ -122,11 +122,16 @@ class revisePriceCalc {
             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);
+                node.cur_positive_qc_tp = helper.mul(node.cur_positive_qc_qty, node.unit_price, decimal.tp);
+                node.cur_negative_qc_tp = helper.mul(node.cur_negative_qc_qty, node.unit_price, decimal.tp);
                 result.ibData.push({
                     tid: stage.tid, sid: stage.id, said,
                     lid: node.id,
                     times: stage.times, order: auditOrder,
-                    contract_qty: node.cur_contract_qty, contract_tp: node.cur_contract_tp, qc_qty: node.cur_qc_qty, qc_tp: node.cur_qc_tp,
+                    contract_qty: node.cur_contract_qty, contract_tp: node.cur_contract_tp,
+                    qc_qty: node.cur_qc_qty, qc_tp: node.cur_qc_tp,
+                    positive_qc_qty: node.cur_positive_qc_qty, positive_qc_tp: node.cur_positive_qc_tp,
+                    negative_qc_qty: node.cur_negative_qc_qty, negative_qc_tp: node.cur_negative_qc_tp,
                     postil: node.postil,
                 });
             }
@@ -215,7 +220,7 @@ class revisePriceCalc {
 
         // 加载树结构
         this.ctx.helper.assignRelaData(bills, [
-            { data: curBillsData, fields: ['id', 'contract_qty', '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'], 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: [] });
@@ -234,23 +239,27 @@ 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);
-            if (node.b_code === '203-1-a') console.log(node);
             node.positive_qc_pc_tp = helper.sub(helper.mul(node.pre_positive_qc_qty, node.unit_price, decimal.tp), node.pre_positive_qc_tp);
             node.negative_qc_pc_tp = helper.sub(helper.mul(node.pre_negative_qc_qty, node.unit_price, decimal.tp), node.pre_negative_qc_tp);
-            if (node.b_code === '203-1-a') console.log(node);
             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);
+                node.cur_positive_qc_tp = helper.mul(node.cur_positive_qc_qty, node.unit_price, decimal.tp);
+                node.cur_negative_qc_tp = helper.mul(node.cur_negative_qc_qty, node.unit_price, decimal.tp);
                 if (node.cur_times === stage.times && node.cur_order === 0) {
                     result.ubData.push({
                         id: node.cur_id,
                         contract_tp: node.cur_contract_tp, qc_tp: node.cur_qc_tp,
+                        positive_qc_tp: node.cur_positive_qc_tp, negative_qc_tp: node.cur_negative_qc_tp,
                     });
                 } else {
                     result.ibData.push({
                         tid: stage.tid, sid: stage.id, said,
                         lid: node.id, times: stage.times, order: 0,
-                        contract_qty: node.cur_contract_qty, contract_tp: node.cur_contract_tp, qc_qty: node.cur_qc_qty, qc_tp: node.cur_qc_tp,
+                        contract_qty: node.cur_contract_qty, contract_tp: node.cur_contract_tp,
+                        qc_qty: node.cur_qc_qty, qc_tp: node.cur_qc_tp,
+                        positive_qc_qty: node.cur_positive_qc_qty, positive_qc_tp: node.cur_positive_qc_tp,
+                        negative_qc_qty: node.cur_negative_qc_qty, negative_qc_tp: node.cur_negative_qc_tp,
                         postil: node.cur_postil,
                     });
                 }
@@ -281,8 +290,6 @@ class revisePriceCalc {
             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);
         }
-        console.log(positive_qc_pc_tp, negative_qc_pc_tp);
-        console.log(stage.id);
         await transaction.update(this.ctx.service.stage.tableName,
             { 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() });
     }