Jelajahi Sumber

report tuning

TonyKang 7 tahun lalu
induk
melakukan
ad258bc2c8

+ 4 - 4
test/unit/reports/test_cover_01.js

@@ -28,11 +28,11 @@ let demoPrjId = - 1;
 let demoRptId = 223, pagesize = "A4";
 
 demoPrjId = 1220; //QA:
-/*
- let userId_Leng = 1142; //小冷User Id
- let userId_Dft = userId_Leng;
+//*
+let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
+let userId_Dft = userId_Leng;
 /*/
-let userId_Dft = 76075;
+ let userId_Dft = "595328da1934dc327cad08eb";
 //*/
 
 let rptTplFacade = require("../../../modules/reports/facade/rpt_template_facade");

+ 3 - 3
test/unit/reports/test_cover_02.js

@@ -30,9 +30,9 @@ let demoRptId = 229, pagesize = "A4";
 let userId_Leng = 1142; //小冷User Id
 demoPrjId = 1296; //QA:
 //*/
- let userId_Dft = userId_Leng;
- /*/
-let userId_Dft = 76075;
+let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
+/*/
+ let userId_Dft = "595328da1934dc327cad08eb";
 //*/
 
 let rptTplFacade = require("../../../modules/reports/facade/rpt_template_facade");

+ 2 - 2
test/unit/reports/test_get_prj_data.js

@@ -32,10 +32,10 @@ let demoPrjId = - 1;
 // demoPrjId = 720; //QA: DW3
 demoPrjId = 1626; //QA:
 //*/
-let userId_Leng = 1142; //小冷User Id
+let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
 let userId_Dft = userId_Leng;
 /*/
- let userId_Dft = 76075;
+ let userId_Dft = "595328da1934dc327cad08eb";
  //*/
 
 let fs = require('fs');

+ 2 - 2
test/unit/reports/test_preview_page.js

@@ -32,10 +32,10 @@ let pagesize = "A4";
 // demoPrjId = 720; //QA: DW3
 // demoPrjId = 1626; //QA:
 //*/
-let userId_Leng = 1142; //小冷User Id
+let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
 let userId_Dft = userId_Leng;
 /*/
- let userId_Dft = 76075;
+ let userId_Dft = "595328da1934dc327cad08eb";
  //*/
 
 let rptTplFacade = require("../../../modules/reports/facade/rpt_template_facade");

+ 106 - 0
test/unit/reports/test_tpl_07.js

@@ -0,0 +1,106 @@
+/**
+ * Created by Tony on 2018/4/13.
+ */
+
+let test = require('tape');
+import JpcEx from "../../../modules/reports/rpt_component/jpc_ex";
+import JV from "../../../modules/reports/rpt_component/jpc_value_define";
+let config = require("../../../config/config.js");
+config.setupDb(process.env.NODE_ENV);
+let mongoose = require("mongoose");
+let fileUtils = require("../../../modules/common/fileUtils");
+let path = require('path');
+let dbm = require("../../../config/db/db_manager");
+let rpt_cfg = require('./rpt_cfg');
+dbm.connect(process.env.NODE_ENV);
+
+//统一引用models
+fileUtils.getGlobbedFiles('../../../modules/all_models/*.js').forEach(function(modelPath) {
+    require(path.resolve(modelPath));
+});
+
+let cfgCacheUtil = require("../../../config/cacheCfg");
+cfgCacheUtil.setupDftCache();
+
+let fsUtil = require("../../../public/fsUtil");
+
+let demoPrjId = - 1;
+let demoRptId = 239, pagesize = "A4";
+
+// demoPrjId = 720; //QA: DW3
+demoPrjId = 1626; //QA:
+//*/
+let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
+let userId_Dft = userId_Leng;
+/*/
+let userId_Dft = "595328da1934dc327cad08eb";
+//*/
+
+let rptTplFacade = require("../../../modules/reports/facade/rpt_template_facade");
+let rptTplDataFacade = require("../../../modules/reports/facade/rpt_tpl_data_facade");
+
+import rptDataExtractor from "../../../modules/reports/util/rpt_construct_data_util";
+
+let fs = require('fs');
+//设置Date Format函数
+fs.readFile(__dirname.slice(0, __dirname.length - 18) + '/public/web/date_util.js', 'utf8', 'r', function (err, data) {
+    eval(data);
+});
+
+//*
+test('测试 - 测试模板07表: ', function (t) {
+    rptTplFacade.getRptTemplate(demoRptId).then(function(rptTpl) {
+        let rptDataUtil = new rptDataExtractor();
+        rptDataUtil.initialize(rptTpl._doc);
+        let filter = rptDataUtil.getDataRequestFilter();
+        console.log(filter);
+        //正常应该根据报表模板定义的数据类型来请求数据
+        rptTplDataFacade.prepareProjectData(userId_Dft, demoPrjId, filter, function (err, msg, rawDataObj) {
+            if (!err) {
+                try {
+                    // fsUtil.writeObjToFile(rawDataObj, "D:/GitHome/ConstructionCost/tmp/rptTplRawDataObject.jsp");
+                    let tplData = rptDataUtil.assembleData(rawDataObj);
+                    //it's time to build the report!!!
+                    let printCom = JpcEx.createNew();
+                    rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = pagesize;
+                    let defProperties = rpt_cfg;
+                    let dftOption = JV.PAGING_OPTION_NORMAL;
+                    printCom.initialize(rptTpl);
+                    // fsUtil.writeObjToFile(tplData, "D:/GitHome/ConstructionCost/tmp/rptAssembledData.jsp");
+                    // fsUtil.writeObjToFile(rawDataObj, "D:/GitHome/ConstructionCost/tmp/rptRawDataAfterAssembled.jsp");
+                    printCom.analyzeData(rptTpl, tplData, defProperties, dftOption);
+                    let maxPages = printCom.totalPages;
+                    let pageRst = printCom.outputAsSimpleJSONPageArray(rptTpl, tplData, 1, maxPages, defProperties);
+                    if (pageRst) {
+                        fsUtil.writeObjToFile(pageRst, "D:/GitHome/ConstructionCost/tmp/rptPageResult.jsp");
+                    } else {
+                        console.log("oh! no pages were created!");
+                    }
+                } catch (ex) {
+                    console.log(ex);
+                    t.pass('pass with exception!');
+                    t.end();
+                }
+
+                t.pass('pass succeeded!');
+                t.end();
+            } else {
+                console.log(msg);
+                t.pass('pass with error!');
+                t.end();
+            }
+        })
+    });
+});
+//*/
+
+test('close the connection', function (t) {
+    setTimeout(function () {
+        mongoose.disconnect();
+        t.pass('closing db connection');
+        t.end();
+    }, 3000);
+    // mongoose.disconnect();
+    // t.pass('closing db connection');
+    // t.end();
+});

+ 2 - 2
test/unit/reports/test_tpl_09.js

@@ -30,10 +30,10 @@ let demoRptId = 232, pagesize = "A4";
 // demoPrjId = 720; //QA: DW3
 demoPrjId = 1626; //QA:
 //*/
-let userId_Leng = 1142; //小冷User Id
+let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
 let userId_Dft = userId_Leng;
 /*/
-let userId_Dft = 76075;
+ let userId_Dft = "595328da1934dc327cad08eb";
 //*/
 
 let rptTplFacade = require("../../../modules/reports/facade/rpt_template_facade");

+ 2 - 2
test/unit/reports/test_tpl_09_1.js

@@ -27,13 +27,13 @@ let fsUtil = require("../../../public/fsUtil");
 let demoPrjId = - 1;
 let demoRptId = 226, pagesize = "A4";
 
-let userId_Leng = 1142; //小冷User Id
+let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
 // demoPrjId = 720; //QA: DW3
 demoPrjId = 1626; //QA:
 //*/
 let userId_Dft = userId_Leng;
 /*/
-let userId_Dft = 76075;
+ let userId_Dft = "595328da1934dc327cad08eb";
 //*/
 
 let rptTplFacade = require("../../../modules/reports/facade/rpt_template_facade");

+ 4 - 14
web/building_saas/report/html/rpt_main.html

@@ -51,22 +51,12 @@
                     </div>
                     <div class="panel">
                         <div class="panel-body">
-                            <div class="btn-group" role="group">
-                                <button type="button" class="btn btn-secondary btn-sm">-</button>
-                                <a class="btn btn-secondary btn-sm" data-toggle="tooltip" data-placement="bottom" title="重置默认大小">100%</a>
-                                <button type="button" class="btn btn-secondary btn-sm">+</button>
-                            </div>
-                        </div>
-                        <div class="panel-foot text-muted">
-                            缩放
-                        </div>
-                    </div>
-                    <div class="panel">
-                        <div class="panel-body">
                             <div class="btn-group" role="group" aria-label="Button group with nested dropdown">
-                                <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#paper"><i class="fa fa-file-o"></i> 纸张</button>
+                                <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#paper"><i class="fa fa-file-o"></i> 页边距</button>
+                                <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#content"><i class="fa fa-file-text-o"></i> 页面</button>
+                                <!--
                                 <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#format"><i class="fa fa-bold"></i> 格式</button>
-                                <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#content"><i class="fa fa-file-text-o"></i> 内容</button>
+                                -->
                             </div>
                         </div>
                         <div class="panel-foot text-muted">