|
@@ -10,6 +10,7 @@
|
|
|
|
|
|
|
|
const itemsPre = 'id_';
|
|
const itemsPre = 'id_';
|
|
|
const BillsTree = require('./ledger').billsTree;
|
|
const BillsTree = require('./ledger').billsTree;
|
|
|
|
|
+const TreeUtils = require('./ledger').treeUtils;
|
|
|
const auditConst = require('../const/audit');
|
|
const auditConst = require('../const/audit');
|
|
|
|
|
|
|
|
class FinalTree extends BillsTree {
|
|
class FinalTree extends BillsTree {
|
|
@@ -94,7 +95,7 @@ class BudgetFinal {
|
|
|
constructor (ctx) {
|
|
constructor (ctx) {
|
|
|
this.ctx = ctx;
|
|
this.ctx = ctx;
|
|
|
this.budgetSetting = { id: 'tree_id', pid: 'tree_pid', order: 'order', level: 'level', rootId: -1, calcFields: ['total_price'] };
|
|
this.budgetSetting = { id: 'tree_id', pid: 'tree_pid', order: 'order', level: 'level', rootId: -1, calcFields: ['total_price'] };
|
|
|
- this.tenderSetting = { id: 'ledger_id', pid: 'ledger_pid', order: 'order', level: 'level', rootId: -1, calcFields: ['total_price', 'end_gather_tp', 'end_contract_tp', 'end_qc_tp'] };
|
|
|
|
|
|
|
+ this.tenderSetting = { id: 'ledger_id', pid: 'ledger_pid', order: 'order', level: 'level', rootId: -1, calcFields: ['total_price', 'end_gather_tp', 'end_contract_tp', 'end_qc_tp', 'tz_qc_tp'] };
|
|
|
this.finalTree = new FinalTree(this.ctx, { id: 'id', pid: 'pid', order: 'order', level: 'level', fullPath: 'full_path', rootId: -1 });
|
|
this.finalTree = new FinalTree(this.ctx, { id: 'id', pid: 'pid', order: 'order', level: 'level', fullPath: 'full_path', rootId: -1 });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -199,6 +200,11 @@ class BudgetFinal {
|
|
|
}
|
|
}
|
|
|
const tree = new BillsTree(this.ctx, this.tenderSetting);
|
|
const tree = new BillsTree(this.ctx, this.tenderSetting);
|
|
|
tree.loadDatas(bills);
|
|
tree.loadDatas(bills);
|
|
|
|
|
+
|
|
|
|
|
+ const tenderInfo = await this.ctx.service.tenderInfo.getTenderInfo(id);
|
|
|
|
|
+ const reCalcChange = await this.ctx.service.change.getReCalcChangeData(id, tenderInfo);
|
|
|
|
|
+ TreeUtils.loadChangeData(tree, null, reCalcChange, tenderInfo, helper);
|
|
|
|
|
+
|
|
|
tree.calculateAll();
|
|
tree.calculateAll();
|
|
|
this.finalTree.loadTree(tree, function (cur, source) {
|
|
this.finalTree.loadTree(tree, function (cur, source) {
|
|
|
cur.total_price = helper.add(cur.total_price, source.total_price);
|
|
cur.total_price = helper.add(cur.total_price, source.total_price);
|
|
@@ -213,6 +219,9 @@ class BudgetFinal {
|
|
|
cur.final_contract_tp = helper.add(cur.final_contract_tp, source.end_contract_tp);
|
|
cur.final_contract_tp = helper.add(cur.final_contract_tp, source.end_contract_tp);
|
|
|
cur.final_qc_tp = helper.add(cur.final_qc_tp, source.end_qc_tp);
|
|
cur.final_qc_tp = helper.add(cur.final_qc_tp, source.end_qc_tp);
|
|
|
cur.final_tp = helper.add(cur.final_tp, source.end_gather_tp);
|
|
cur.final_tp = helper.add(cur.final_tp, source.end_gather_tp);
|
|
|
|
|
+
|
|
|
|
|
+ cur.tz_qc_qty = helper.add(cur.tz_qc_qty, source.tz_qc_qty);
|
|
|
|
|
+ cur.tz_qc_tp = helper.add(cur.tz_qc_tp, source.tz_qc_tp);
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -291,6 +300,7 @@ class BudgetFinal {
|
|
|
final_dgn_qty1: x.final_dgn_qty1 || 0, final_dgn_qty2: x.final_dgn_qty2 || 0, final_tp: x.final_tp || 0,
|
|
final_dgn_qty1: x.final_dgn_qty1 || 0, final_dgn_qty2: x.final_dgn_qty2 || 0, final_tp: x.final_tp || 0,
|
|
|
final_contract_tp: x.final_contract_tp || 0, final_qc_tp: x.final_qc_tp || 0,
|
|
final_contract_tp: x.final_contract_tp || 0, final_qc_tp: x.final_qc_tp || 0,
|
|
|
final_dgn_price: x.final_dgn_price || 0, final_dgn_qty: x.final_dgn_qty || '',
|
|
final_dgn_price: x.final_dgn_price || 0, final_dgn_qty: x.final_dgn_qty || '',
|
|
|
|
|
+ tz_qc_qty: x.tz_qc_qty || 0, tz_qc_tp: x.tz_qc_tp || 0,
|
|
|
grow_dgn_qty1: x.grow_dgn_qty1 || 0, grow_dgn_qty2: x.grow_dgn_qty2 || 0, grow_dgn_qty: x.grow_dgn_qty || '', grow_tp: x.grow_tp || 0,
|
|
grow_dgn_qty1: x.grow_dgn_qty1 || 0, grow_dgn_qty2: x.grow_dgn_qty2 || 0, grow_dgn_qty: x.grow_dgn_qty || '', grow_tp: x.grow_tp || 0,
|
|
|
})
|
|
})
|
|
|
});
|
|
});
|