瀏覽代碼

报表,资金划拨越权取数据

MaiXinRong 6 天之前
父節點
當前提交
552de259df
共有 2 個文件被更改,包括 52 次插入6 次删除
  1. 30 6
      app/lib/rm/tender_financial.js
  2. 22 0
      app/service/report.js

+ 30 - 6
app/lib/rm/tender_financial.js

@@ -1,7 +1,7 @@
 'use strict';
 
 /**
- * 
+ *
  *
  * @author Mai
  * @date 20250613
@@ -14,34 +14,58 @@ class reportMemoryFinancial {
     }
 
     async checkTender(tid) {
-        this.tender = this.ctx.tender ? this.ctx.tender : await this.ctx.tender.getDataById(tid);
+        this.tender = this.ctx.tender ? this.ctx.tender : await this.ctx.service.tender.getDataById(tid);
     }
 
     async pay(tid) {
         await this.checkTender(tid);
+        if (!this.tender) return [];
+        return await this.ctx.service.financialPay.getAllDataByCondition({ where: { tid }});
+    }
+
+    async payContract(tid) {
+        await this.checkTender(tid);
+        if (!this.tender) return [];
+        return await this.ctx.service.financialPayContract.getAllDataByCondition({ where: { tid } });
+    }
+
+    async payTender(tid) {
+        await this.checkTender(tid);
+        if (!this.tender) return [];
+        return await this.ctx.service.financialPayTender.getAllDataByCondition({ where: { tid } });
+    }
+
+    async transferTender(tid) {
+        await this.checkTender(tid);
+        if (!this.tender) return [];
+        return await this.ctx.service.financialTransferTender.getAllDataByCondition({ where: { tid } });
+    }
+
+    async projectPay(tid) {
+        await this.checkTender(tid);
         if (!this.tender || !this.tender.spid) return [];
         return await this.ctx.service.financialPay.getAllDataByCondition({ where: { spid: this.tender.spid }});
     }
 
-    async payContract(tid) {
+    async projectPayContract(tid) {
         await this.checkTender(tid);
         if (!this.tender || !this.tender.spid) return [];
         return await this.ctx.service.financialPayContract.getAllDataByCondition({ where: { spid: this.tender.spid } });
     }
 
-    async payTender(tid) {
+    async projectPayTender(tid) {
         await this.checkTender(tid);
         if (!this.tender || !this.tender.spid) return [];
         return await this.ctx.service.financialPayTender.getAllDataByCondition({ where: { spid: this.tender.spid } });
     }
 
-    async transfer(tid) {
+    async projectTransfer(tid) {
         await this.checkTender(tid);
         if (!this.tender || !this.tender.spid) return [];
         return await this.ctx.service.financialTransfer.getAllDataByCondition({ where: { spid: this.tender.spid } });
     }
 
-    async transferTender(tid) {
+    async projectTransferTender(tid) {
         await this.checkTender(tid);
         if (!this.tender || !this.tender.spid) return [];
         return await this.ctx.service.financialTransferTender.getAllDataByCondition({ where: { spid: this.tender.spid } });

+ 22 - 0
app/service/report.js

@@ -10,6 +10,7 @@
 
 const BudgetSource = require('../lib/rm/tender_budget');
 const MaterialSource = require('../lib/rm/tender_material');
+const FinancialSource = require('../lib/rm/tender_financial');
 
 const rptCustomData = require('../lib/rptCustomData');
 const bindData = {
@@ -79,6 +80,7 @@ module.exports = app => {
             const service = this.ctx.service;
             await service.tender.checkTender(params.tender_id);
             const materialSource = new MaterialSource(this.ctx);
+            const financialSource = new FinancialSource(this.ctx);
             const rst = {};
             const runnableRst = [];
             const runnableKey = []; // 这个配合runnableRst用,未来考虑并行查询优化
@@ -439,6 +441,26 @@ module.exports = app => {
                             runnableRst.push(service.constructionUnit.getReportData(this.ctx.session.sessionProject.id));
                             runnableKey.push(filter);
                             break;
+                        case 'mem_financial_pay':
+                            runnableRst.push(financialSource.projectPay(params.tender_id));
+                            runnableKey.push(filter);
+                            break;
+                        case 'mem_financial_pay_contract':
+                            runnableRst.push(financialSource.projectPayContract(params.tender_id));
+                            runnableKey.push(filter);
+                            break;
+                        case 'mem_financial_pay_tender':
+                            runnableRst.push(financialSource.projectPayTender(params.tender_id));
+                            runnableKey.push(filter);
+                            break;
+                        case 'mem_financial_transfer':
+                            runnableRst.push(financialSource.projectTransfer(params.tender_id));
+                            runnableKey.push(filter);
+                            break;
+                        case 'mem_financial_transfer_tender':
+                            runnableRst.push(financialSource.projectTransferTender(params.tender_id));
+                            runnableKey.push(filter);
+                            break;
                         case 'contract_tree_1':
                             runnableRst.push(service.reportMemory.getContractTree(params.tender_id, 1));
                             runnableKey.push(filter);