Преглед на файлове

期数据,新增最底层项目节id

MaiXinRong преди 5 години
родител
ревизия
ef97374f00
променени са 2 файла, в които са добавени 24 реда и са изтрити 2 реда
  1. 20 1
      app/service/report_memory.js
  2. 4 1
      builder_report_index_define.js

+ 20 - 1
app/service/report_memory.js

@@ -34,8 +34,9 @@ const billsFields = (function () {
     const stage = cur.concat(pre, end, final);
     const stageEnd = pre.concat(end, final);
     const bgl = ['qc_bgl_code'];
+    const leafXmj = ['leaf_xmj_id'];
 
-    return {cur, pre, end, final, stage, stageEnd, bgl};
+    return {cur, pre, end, final, stage, stageEnd, bgl, leafXmj};
 })();
 const posFields = (function () {
     const cur = ['contract_qty', 'qc_qty', 'gather_qty', 'postil'];
@@ -333,6 +334,15 @@ module.exports = app => {
             }
         }
 
+        _calcLeafXmjRela() {
+            for (const node of this.billsTree.nodes) {
+                if (node.b_code) {
+                    const leafXmj = this.billsTree.getLeafXmjParent(node);
+                    node.leaf_xmj_id = leafXmj.id;
+                }
+            }
+        }
+
         async getStageBillsData(tid, sid, fields) {
             await this.ctx.service.tender.checkTender(tid);
             if (sid) {
@@ -367,6 +377,10 @@ module.exports = app => {
                 await this._calcBillsBgl();
             }
 
+            if (this._checkFieldsExist(fields, billsFields.leafXmj)) {
+                this._calcLeafXmjRela();
+            }
+
             return this.billsTree.getDatas([
                 'id', 'tender_id', 'ledger_id', 'ledger_pid', 'level', 'order', 'full_path', 'is_leaf',
                 'code', 'b_code', 'name', 'unit', 'unit_price',
@@ -380,6 +394,7 @@ module.exports = app => {
                 'final_tp', 'final_ratio',
                 'qc_bgl_code',
                 'chapter',
+                'leaf_xmj_id',
             ]);
         }
 
@@ -530,6 +545,10 @@ module.exports = app => {
                 }
             });
 
+            if (this._checkFieldsExist(fields, billsFields.leafXmj)) {
+                this._calcLeafXmjRela();
+            }
+
             return this.billsTree.getDefaultDatas();
             // return this.billsTree.getDatas([
             //     'id', 'tender_id', 'ledger_id', 'ledger_pid', 'level', 'order', 'full_path', 'is_leaf',                 //8

+ 4 - 1
builder_report_index_define.js

@@ -263,7 +263,9 @@ const stage_bills = {
         { name: '章节编号', field: 'chapter', type: dataType.str },
 
         { name: '预留扩展字段_1', field: 'ex_value1', type: dataType.currency },
-        { name: '预留扩展字段_2', field: 'ex_value1', type: dataType.currency },
+        { name: '预留扩展字段_2', field: 'ex_value2', type: dataType.currency },
+
+        { name: '最底层项目节id', field: 'leaf_xmj_id', type: dataType.str },
     ],
 };
 const stage_bills_compare = {
@@ -386,6 +388,7 @@ const stage_bills_compare = {
         { name: '本期-完成-金额_9', field: 'r9_gather_tp', type: dataType.currency, tag: {type: 'tp'} },
 
         { name: '章节编号', field: 'chapter', type: dataType.str },
+        { name: '最底层项目节id', field: 'leaf_xmj_id', type: dataType.str },
     ],
 };
 // 期 - 计量单元