MaiXinRong 5 лет назад
Родитель
Сommit
074aaf488c

+ 4 - 0
app/controller/report_controller.js

@@ -412,6 +412,10 @@ async function getReportData(ctx, params, filters, memFieldKeys) {
                     runnableRst.push(ctx.service.reportMemory.getStagePosData(params.tender_id, params.stage_id, memFieldKeys[filter]));
                     runnableKey.push(filter);
                     break;
+                case 'mem_stage_bills_compare':
+                    runnableRst.push(ctx.service.reportMemory.getStagePosData(params.tender_id, params.stage_id, memFieldKeys[filter]));
+                    runnableKey.push(filter);
+                    break;
                 case 'change':
                     runnableRst.push(ctx.service.change.getListByStatus(params.tender_id, 3)); // 获取所有审核通过的变更主信息
                     runnableKey.push('change');

+ 4 - 2
test/app/lib/rpt_data_analysis.test.js

@@ -221,7 +221,7 @@ describe('test/app/service/report_memory.test.js', () => {
             {field: 'is_leaf', table: 'mem_stage_bills'},
         ]);
         assert(data.mem_stage_bills.length === 43);
-        reportDataAnalysis.analysisObj.join.fun(ctx, data, [], {
+        const joinOptions = {
             main: 'mem_stage_bills',
             sub: 'deal_bills',
             keyFields: [
@@ -235,7 +235,9 @@ describe('test/app/service/report_memory.test.js', () => {
                 {main: 'ex_value2', sub: 'total_price', type: 'number'}
             ],
             joinType: 'outer', //'outer', 'main', 'sub', 'inner'
-        });
+        };
+        yield ctx.helper.saveBufferFile(JSON.stringify(joinOptions, '', '\t'), ctx.app.baseDir + '/analysis_join_options.json');
+        reportDataAnalysis.analysisObj.join.fun(ctx, data, [], joinOptions);
         assert(data.mem_stage_bills.length === 132);
         reportDataAnalysis.analysisObj.sortGcl.fun(ctx, data, [
             {field: 'b_code', table: 'mem_stage_bills'},

+ 51 - 0
test/app/report_data.test.js

@@ -0,0 +1,51 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Mai
+ * @date
+ * @version
+ */
+
+const { app, assert } = require('egg-mock/bootstrap');
+const mockData = {};
+const tenderId = 2076;
+const stageOrder = 1;
+const postData = {
+    account: 'liangqibo',
+    project: 'P1116',
+    project_password: '123456',
+};
+
+describe('temp_report_test.js', () => {
+    // 准备测试数据
+    before(function* () {
+        const ctx = app.mockContext();
+        // 模拟登录session
+        ctx.session = {};
+        const loginResult = yield ctx.service.projectAccount.accountLogin(postData, 2);
+        assert(loginResult);
+        mockData.session = ctx.session;
+    });
+    it('test temp', function* () {
+        const ctx = app.mockContext(mockData);
+        // test12 - 第4期
+        const stage = yield ctx.service.stage.getDataByCondition({tid: tenderId, order: stageOrder});
+        const mainData = yield ctx.service.reportMemory.getStageBillsCompareData(tenderId, stage.id, [
+            'id', 'tender_id', 'ledger_id', 'ledger_pid', 'level', 'order', 'full_path', 'is_leaf',
+            'code', 'b_code', 'name', 'unit', 'unit_price',
+            'deal_qty', 'deal_tp',
+            'sgfh_qty', 'sgfh_tp', 'sjcl_qty', 'sjcl_tp', 'qtcl_qty', 'qtcl_tp', 'quantity', 'total_price',
+            'dgn_qty1', 'dgn_qty2',
+            'drawing_code', 'memo', 'node_type', 'is_tp',
+            'r0_contract_qty', 'r0_contract_tp', 'r0_qc_qty', 'r0_qc_tp', 'r0_gather_qty', 'r0_gather_tp',
+            'r1_contract_qty', 'r1_contract_tp', 'r1_qc_qty', 'r1_qc_tp', 'r1_gather_qty', 'r1_gather_tp',
+            'pre_contract_qty', 'pre_contract_tp', 'pre_qc_qty', 'pre_qc_tp', 'pre_gather_qty', 'pre_gather_tp',
+            'chapter',
+        ]);
+        if (mainData instanceof Array) {
+            yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), ctx.app.baseDir + '/mem_stage_bills_compare.json');
+        }
+    });
+});

+ 1 - 1
test/app/service/report_memory.test.js

@@ -234,7 +234,7 @@ describe('test/app/service/report_memory.test.js', () => {
             tableDefine.Name = '期-清单-全参与人数据表(mem_stage_bills_compare)';
             tableDefine.remark = '';
             tableDefine.ID = 26;
-            tableDefine.key = 'mem_stage_bills';
+            tableDefine.key = 'mem_stage_bills_compare';
             tableDefine.items = [];
             addFields(tableDefine, '台账ID', 'id', dataType.int);
             addFields(tableDefine, '标段ID', 'tender_id', dataType.int);