Browse Source

小数位数

TonyKang 5 năm trước cách đây
mục cha
commit
d9c2f6b0be

+ 7 - 11
app/controller/report_controller.js

@@ -453,10 +453,8 @@ async function getReportData(ctx, params, filters, memFieldKeys) {
 }
 
 async function getAllPagesCommon(ctx, rptTpl, params, option, outputType, baseDir) {
-    // let rptTpl = null;
     const rptDataUtil = new rptDataExtractor();
     rptDataUtil.initialize(rptTpl);
-    // console.log(rptTpl);
     const filter = rptDataUtil.getDataRequestFilter();
     // console.log(filter.tables);
     const rawDataObj = await ctx.service.report.getReportData(params, filter.tables, filter.memFieldKeys);
@@ -472,6 +470,10 @@ async function getAllPagesCommon(ctx, rptTpl, params, option, outputType, baseDi
         // console.log('defProperties: ');
         // console.log(defProperties);
 
+        // console.log('before assemble');
+        const tplData = rptDataUtil.assembleData(ctx, rawDataObj, baseDir, printCom);
+        // console.log(tplData);
+
         if (params.custCfg) {
             setupCustomizeCfg(params.custCfg, rptTpl, defProperties);
         } else {
@@ -479,11 +481,9 @@ async function getAllPagesCommon(ctx, rptTpl, params, option, outputType, baseDi
         }
         const dftOption = params.option || JV.PAGING_OPTION_NORMAL;
         printCom.initialize(rptTpl);
-        // console.log('before assemble');
-        const tplData = rptDataUtil.assembleData(ctx, rawDataObj, baseDir, printCom);
-        // console.log(tplData);
         // ctx.helper
         printCom.analyzeData(ctx.helper, rptTpl, tplData, defProperties, dftOption, outputType);
+        // console.log(JSON.stringify(rptTpl));
         const maxPages = printCom.totalPages;
         let pageRst = null;
         if (maxPages > 0) {
@@ -491,15 +491,11 @@ async function getAllPagesCommon(ctx, rptTpl, params, option, outputType, baseDi
         } else {
             pageRst = printCom.outputAsPreviewPage(rptTpl, defProperties);
         }
-        if (pageRst) {
-            // fsUtil.writeObjToFile(pageRst, 'D:/GitHome/temp/testBuiltPageResult.jsp');
-        } else {
-            //
-        }
+        // fsUtil.writeObjToFile(pageRst, 'D:/GitHome/temp/testBuiltPageResult.jsp');
         // console.log(pageRst);
         return pageRst;
     } catch (ex) {
-        // console.log("报表数据异常: userId " + user_id + ", project id: " + prj_id);
+        console.log("报表数据异常, tender id: " + params.tender_id);
         console.log(ex);
     }
 }

+ 2 - 0
app/reports/rpt_component/jpc_ex.js

@@ -171,7 +171,9 @@ JpcExSrv.prototype.createNew = function() {
         const dftPagingOption = option || JV.PAGING_OPTION_NORMAL;
         // 1. data object
         let dataHelper = JpcData.createNew();
+        // console.log(JSON.stringify(rptTpl));
         me.executeFormulas($CTX_HELPER, JV.RUN_TYPE_BEFORE_ANALYZING, rptTpl, dataObj, me); // 在分析前运行,主要是增加灵活性,比如:重新编排数据的主从关系
+        // console.log(JSON.stringify(rptTpl));
         if (me.crossTab) {
             me.executeFormulas($CTX_HELPER, JV.RUN_TYPE_BEFORE_PAGING, rptTpl, dataObj, me);
             dataHelper.analyzeData(rptTpl, dataObj);

+ 3 - 0
app/reports/util/rpt_calculation_data_util.js

@@ -778,11 +778,14 @@ function assembleFields(fieldList, rstDataArr, $PROJECT) {
             shielded_exec_env($PROJECT, field, rstDataArr);
             if ('Precision' in field) {
                 if (field.Precision.type === 'fixed') {
+                    // console.log('field.Precision.fixedMapExpression: ' + field.Precision.fixedMapExpression);
                     const vrst = eval(field.Precision.fixedMapExpression);
+                    // console.log(vrst);
                     if (vrst && vrst.length === 1) {
                         field.fixedPrecisionNum = vrst[0];
                         vrst.splice(0,1);
                     }
+                    // console.log(field);
                 } else if (field.Precision.type === 'flexible') {
                     // console.log('field.Precision.flexibleMapExpression: ' + field.Precision.flexibleMapExpression);
                     const vrst = eval(field.Precision.flexibleMapExpression);