فهرست منبع

变更令报表相关

MaiXinRong 2 ماه پیش
والد
کامیت
29f4056dfc
2فایلهای تغییر یافته به همراه45 افزوده شده و 9 حذف شده
  1. 39 9
      app/lib/rm/change.js
  2. 6 0
      sql/update.sql

+ 39 - 9
app/lib/rm/change.js

@@ -11,6 +11,7 @@
 const RptMemBase = require('./base');
 const bindData = {};
 const changeConst = require('../../const/change');
+const Ledger = require('../ledger');
 
 class rptMemChange extends RptMemBase {
     constructor(ctx) {
@@ -84,10 +85,32 @@ class rptMemChange extends RptMemBase {
         return changeBills;
     }
 
-    async getChangeLedgerBillsData(showLevel) {
-        try {
-            await this.ctx.service.tender.checkTender(tid);
+    _getNewBillsTree(calcFields) {
+        return new Ledger.billsTree(this.ctx, {
+            id: 'ledger_id',
+            pid: 'ledger_pid',
+            order: 'order',
+            level: 'level',
+            rootId: -1,
+            keys: ['id', 'tender_id', 'ledger_id'],
+            stageId: 'id',
+            calcFields: calcFields || ['deal_tp', 'total_price', 'sgfh_tp', 'sjcl_tp', 'qtcl_tp'],
+            calc: function (node, helper) {
+            }
+        });
+    }
 
+    _calcLeafXmjRela(billsTree) {
+        for (const node of billsTree.nodes) {
+            if (node.b_code) {
+                const leafXmj = billsTree.getLeafXmjParent(node);
+                node.leaf_xmj_id = leafXmj ? leafXmj.id : -1;
+            }
+        }
+    }
+
+    async getChangeLedgerBillsData(fields, showLevel) {
+        try {
             const billsData = await this.ctx.service.ledger.getData(this.ctx.tender.id);
             const changeBillsData = await this.ctx.service.changeLedger.getAllDataByCondition({ where: { ccid: this.ctx.change.id } });
             billsData.push(...changeBillsData);
@@ -96,7 +119,7 @@ class rptMemChange extends RptMemBase {
             billsTree.loadDatas(billsData);
             billsTree.calculateAll();
 
-            if (this._checkFieldsExist(fields, [''])) {
+            if (this._checkFieldsExist(fields, ['leaf_xmj_id'])) {
                 this._calcLeafXmjRela(billsTree);
             }
 
@@ -111,10 +134,17 @@ class rptMemChange extends RptMemBase {
             const posData = await this.ctx.service.pos.getAllDataByCondition({ where: {tid: this.ctx.tender.id }});
             const changePosData = await this.ctx.service.changePos.getAllDataByCondition({ where: { ccid: this.ctx.change.id } });
             posData.push(...changePosData);
-            this.pos.loadDatas(posData);
-            this.pos.calculateAll();
 
-            return this.pos.getDatas();
+            const pos = new Ledger.pos({
+                id: 'id', ledgerId: 'lid',
+                updateFields: ['contract_qty', 'qc_qty', 'postil'],
+                calc: function (p) {
+                }
+            });
+            pos.loadDatas(posData);
+            pos.calculateAll();
+
+            return pos.getDatas();
         } catch (err) {
             return [];
         }
@@ -137,9 +167,9 @@ class rptMemChange extends RptMemBase {
             case 'mem_tender_info':
                 return [this.ctx.tender.info];
             case 'mem_change_ledger_bills':
-                return this.getChangeLedgerBillsData();
+                return this.getChangeLedgerBillsData(fields);
             case 'mem_change_ledger_bills_filter':
-                return this.getChangeLedgerBillsData(true);
+                return this.getChangeLedgerBillsData(fields, true);
             case 'mem_change_ledger_pos':
                 return this.getChangeLedgerPosData();
             default:

+ 6 - 0
sql/update.sql

@@ -78,6 +78,12 @@ ADD COLUMN `tid` int(11) NULL DEFAULT NULL COMMENT '标段id' AFTER `spid`;
 ALTER TABLE `zh_message`
 ADD COLUMN `spid` varchar(36) NULL DEFAULT '' COMMENT '子项目id' AFTER `project_id`;
 
+ALTER TABLE `zh_filing_template`
+ADD COLUMN `is_rela` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '可否导入文件' AFTER `tips`;
+
+ALTER TABLE `zh_filing`
+ADD COLUMN `is_rela` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '可否导入文件' AFTER `tips`;
+
 ------------------------------------
 -- 表数据
 ------------------------------------