Forráskód Böngészése

报表,材差数据问题

MaiXinRong 3 éve
szülő
commit
d645b94095
1 módosított fájl, 7 hozzáadás és 3 törlés
  1. 7 3
      app/lib/rm/material.js

+ 7 - 3
app/lib/rm/material.js

@@ -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));