Browse Source

支付审批数据源

MaiXinRong 1 year atrás
parent
commit
371715a72a
2 changed files with 55 additions and 0 deletions
  1. 48 0
      app/lib/rm/payment.js
  2. 7 0
      app/service/report.js

+ 48 - 0
app/lib/rm/payment.js

@@ -0,0 +1,48 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Mai
+ * @date
+ * @version
+ */
+
+const RptMemBase = require('./base');
+const bindData = {};
+
+class rptMemPaymentSafe extends RptMemBase {
+    constructor(ctx) {
+        super(ctx, bindData);
+    }
+
+    async doCheckTender(tenderId) {
+        if (this.ctx.paymentTender) return;
+        this.ctx.paymentTender = await this.ctx.service.paymentTender.doCheckTender(tenderId);
+    }
+
+    async doCheckDetail(detailId) {
+        if (this.ctx.detail) return;
+        this.ctx.detail = await this.ctx.service.paymentDetail.doCheckDetail(detailId);
+    }
+
+    async doBeforeLoadReport(params) {
+        await this.doCheckTender(params.tender_id);
+        await this.doCheckDetail(params.detail_id);
+    }
+
+    getCommonData(params, tableName, fields) {
+        switch (tableName) {
+            case 'mem_payment_tender':
+                return this.ctx.paymentTender;
+            case 'mem_payment_tender_info':
+                return this.ctx.service.paymentTenderInfo.getTenderInfo(params.tender_id);
+            case 'mem_payment_detail':
+                return this.ctx.detail;
+            default:
+                return [];
+        }
+    }
+}
+
+module.exports = rptMemPaymentSafe;

+ 7 - 0
app/service/report.js

@@ -505,6 +505,13 @@ module.exports = app => {
             return rptPaymentSafe.getReportData(params, sourceFilters, memFieldKeys);
         }
 
+        async payment(params, sourceFilters, memFieldKeys) {
+            const RptPayment = require('../lib/rm/payment');
+            const rptPayment = new RptPayment(this.ctx);
+
+            return rptPayment.getReportData(params, sourceFilters, memFieldKeys);
+        }
+
         async getReportData(source_type, params, sourceFilters, memFieldKeys, customDefine, customSelect) {
             const sourceType = sourceTypeConst.sourceTypeData.find(x => { return x.id === source_type; });
             if (!sourceType && !this[sourceType.key]) return {};