|
@@ -245,6 +245,10 @@ class ReportMemoryMaterial {
|
|
|
try {
|
|
|
|
|
|
const billsData = await this.ctx.service.ledger.getData(tender_id);
|
|
|
+ const curStageBills = await this.ctx.service.stageBills.getStagesData(tender_id, material.stage_id);
|
|
|
+ this.ctx.helper.assignRelaData(billsData, [
|
|
|
+ { data: curStageBills, fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'], prefix: '', relaId: 'lid' },
|
|
|
+ ]);
|
|
|
const billsTree = this._getNewBillsTree();
|
|
|
billsTree.loadDatas(billsData);
|
|
|
billsTree.calculateAll();
|
|
@@ -252,7 +256,7 @@ class ReportMemoryMaterial {
|
|
|
const posData = await this.ctx.service.pos.getPosData({ tid: tender_id });
|
|
|
const curStage = await this.ctx.service.stagePos.getStagesData(tender_id, material.stage_id);
|
|
|
this.ctx.helper.assignRelaData(posData, [
|
|
|
- { data: curStage, fields: ['contract_qty', 'contract_tp', 'contract_expr', 'qc_qty', 'qc_tp', 'postil'], prefix: '', relaId: 'pid' },
|
|
|
+ { data: curStage, fields: ['contract_qty', 'qc_qty'], prefix: '', relaId: 'pid' },
|
|
|
]);
|
|
|
const pos = this._getNewPos();
|
|
|
pos.loadDatas(posData);
|
|
@@ -272,11 +276,11 @@ class ReportMemoryMaterial {
|
|
|
for (const x of g.leafXmjs) {
|
|
|
x.jiacha = 0;
|
|
|
const mnj = materialNotJoin.find(m => {
|
|
|
- return m.gcl_id === x.org_gcl_id && m.xmj_id === x.id && (x.mx_id ? x.mx_id === m.mx_id : true);
|
|
|
+ return m.gcl_id === x.org_gcl_id && m.xmj_id === x.id && (x.mx_id && x.mx_id !== x.id ? x.mx_id === m.mx_id : true);
|
|
|
});
|
|
|
if (mnj) continue;
|
|
|
const list = materialGl.filter(g => {
|
|
|
- return g.gcl_id === x.org_gcl_id && g.xmj_id === x.id && (x.mx_id ? x.mx_id === g.mx_id : true);
|
|
|
+ return g.gcl_id === x.org_gcl_id && g.xmj_id === x.id && (x.mx_id && x.mx_id !== x.id ? x.mx_id === g.mx_id : true);
|
|
|
});
|
|
|
for (const l of list) {
|
|
|
x.jiacha = helper.add(x.jiacha, helper.mul(helper.mul(x.gather_qty, l.quantity), l.m_spread));
|