Sfoglia il codice sorgente

报表,材差相关,新增指标数据

MaiXinRong 2 anni fa
parent
commit
0be00de20c
1 ha cambiato i file con 5 aggiunte e 2 eliminazioni
  1. 5 2
      app/lib/rm/material.js

+ 5 - 2
app/lib/rm/material.js

@@ -283,7 +283,7 @@ class ReportMemoryMaterial {
         }
     }
 
-    async _getMaterialStageGatherBills(tender_id, stage_id, stage_order, stageSelf) {
+    async _getMaterialStageGatherBills(tender_id, stage_id, stage_order, stageSelf, stageIndex = 0) {
         const decimal = this.materialGatherBase.decimal;
         //const billsData = this.ctx.helper.clone(this.materialGatherBase.billsData);
         const billsData = this.materialGatherBase.billsData;
@@ -322,6 +322,7 @@ class ReportMemoryMaterial {
         const materialGl = stageSelf
             ? this.materialGatherBase.materialGl.filter(x => { return x.sid === parseInt(stage_id); })
             : this.materialGatherBase.materialGl;
+        if (stageIndex) materialGl.forEach(x => { x.s_index = stageIndex });
         const materialNotJoin = this.materialGatherBase.materialNotJoin;
 
         const helper = this.ctx.helper;
@@ -331,10 +332,12 @@ class ReportMemoryMaterial {
             if (!g.contract_qty && !g.qc_qty) continue;
             g.sid = stage_id;
             g.sorder = stage_order;
+            s.s_index = stageIndex;
             g.jiacha = 0;
             for (const x of g.leafXmjs) {
                 x.sid = stage_id;
                 x.sorder = stage_order;
+                s.s_index = stageIndex;
                 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 !== x.id  ? x.mx_id === m.mx_id : true);
@@ -388,7 +391,7 @@ class ReportMemoryMaterial {
                 const stageIds = material.stage_id.split(',');
                 const stageOrders = material.s_order.split(',');
                 for (const [i, sid] of stageIds.entries()) {
-                    const [gclList, leafXmjs] = await this._getMaterialStageGatherBills(tender_id, sid, stageOrders[i], true);
+                    const [gclList, leafXmjs] = await this._getMaterialStageGatherBills(tender_id, sid, stageOrders[i], true, i + 1);
                     mem_material_gather_bills.push(...gclList);
                     mem_material_gather_xmj.push(...leafXmjs);
                 }