Browse Source

data_field判断补漏 + 统计信息获取Format过程出错

TonyKang 7 years ago
parent
commit
9536636290

+ 8 - 8
modules/reports/rpt_component/jpc_flow_tab.js

@@ -724,9 +724,9 @@ JpcFlowTabSrv.prototype.createNew = function(){
                 // 2.2 Column tab
                 // 2.2 Column tab
                 tabRstLst.push(me.outputColumn(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, pi));
                 tabRstLst.push(me.outputColumn(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, pi));
                 // 2.3 Sum Seg
                 // 2.3 Sum Seg
-                tabRstLst.push(me.outputSegSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls));
+                tabRstLst.push(me.outputSegSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls, $CURRENT_RPT));
                 // 2.4 Sum Page
                 // 2.4 Sum Page
-                tabRstLst.push(me.outputPageSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls));
+                tabRstLst.push(me.outputPageSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls, $CURRENT_RPT));
                 // 2.5 Group
                 // 2.5 Group
                 // 2.6 Discrete
                 // 2.6 Discrete
                 if (pi === 0) {
                 if (pi === 0) {
@@ -794,12 +794,12 @@ JpcFlowTabSrv.prototype.createNew = function(){
                 //normal content
                 //normal content
                 let flexiblePrecisionRefObj = null, flexibleRefField = null, precision_ref_data = null;
                 let flexiblePrecisionRefObj = null, flexibleRefField = null, precision_ref_data = null;
                 for (let rowIdx = 0; rowIdx < contentValuesIdx.length; rowIdx++) {
                 for (let rowIdx = 0; rowIdx < contentValuesIdx.length; rowIdx++) {
-                    for (let i = 0; i < tab_fields.length; i++) {
-                        let tab_field = tab_fields[i];
+                    for (let fieldIdx = 0; fieldIdx < tab_fields.length; fieldIdx++) {
+                        let tab_field = tab_fields[fieldIdx];
                         let data_field = null,
                         let data_field = null,
                             map_data_field = JE.F(tab_field[JV.PROP_FIELD_ID], $CURRENT_RPT);
                             map_data_field = JE.F(tab_field[JV.PROP_FIELD_ID], $CURRENT_RPT);
-                        if (me.disp_fields_idx[i] !== JV.BLANK_FIELD_INDEX) {
-                            data_field = data_details[me.disp_fields_idx[i]];
+                        if (me.disp_fields_idx[fieldIdx] !== JV.BLANK_FIELD_INDEX && (typeof me.disp_fields_idx[fieldIdx] !== 'object')) {
+                            data_field = data_details[me.disp_fields_idx[fieldIdx]];
                         } else {
                         } else {
                             if (map_data_field) {
                             if (map_data_field) {
                                 data_field = map_data_field[JV.PROP_AD_HOC_DATA];
                                 data_field = map_data_field[JV.PROP_AD_HOC_DATA];
@@ -845,7 +845,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
                         for (let idx_ex = 0; idx_ex < tab_fields_ex.length; idx_ex++) {
                         for (let idx_ex = 0; idx_ex < tab_fields_ex.length; idx_ex++) {
                             let tab_fieldex = tab_fields_ex[idx_ex];
                             let tab_fieldex = tab_fields_ex[idx_ex];
                             let data_fieldex = null, map_data_fieldex = JE.F(tab_fieldex[JV.PROP_FIELD_ID], $CURRENT_RPT);
                             let data_fieldex = null, map_data_fieldex = JE.F(tab_fieldex[JV.PROP_FIELD_ID], $CURRENT_RPT);
-                            if (me.disp_fields_ex_idx[idx_ex] !== JV.BLANK_FIELD_INDEX) {
+                            if (me.disp_fields_ex_idx[idx_ex] !== JV.BLANK_FIELD_INDEX && (typeof me.disp_fields_idx[idx_ex] !== 'object')) {
                                 data_fieldex = data_details_ex[me.disp_fields_ex_idx[idx_ex]];
                                 data_fieldex = data_details_ex[me.disp_fields_ex_idx[idx_ex]];
                             } else {
                             } else {
                                 if (map_data_fieldex) {
                                 if (map_data_fieldex) {
@@ -937,7 +937,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
         }
         }
         return rst;
         return rst;
     };
     };
-    JpcFlowTabResult.outputSegSum = function (rptTpl, dataObj, page, segIdx, bands, unitFactor, controls) {
+    JpcFlowTabResult.outputSegSum = function (rptTpl, dataObj, page, segIdx, bands, unitFactor, controls, $CURRENT_RPT) {
         let me = this, rst = [];
         let me = this, rst = [];
         let FLOW_NODE_STR = me.isEx?JV.NODE_FLOW_INFO_EX:JV.NODE_FLOW_INFO;
         let FLOW_NODE_STR = me.isEx?JV.NODE_FLOW_INFO_EX:JV.NODE_FLOW_INFO;
         let tab = rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_SEG_SUM];
         let tab = rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_SEG_SUM];

+ 2 - 1
test/unit/reports/test_rpt_test_template.js

@@ -32,7 +32,8 @@ let demoPrjId = - 1;
 // let demoRptId = 361; //封1
 // let demoRptId = 361; //封1
 // let demoRptId = 279; //表04
 // let demoRptId = 279; //表04
 // let demoRptId = 261; //封3
 // let demoRptId = 261; //封3
-let demoRptId = 418; //09
+// let demoRptId = 418; //09
+let demoRptId = 386; //04
 // let demoRptId = 389; //10
 // let demoRptId = 389; //10
 // let demoRptId = 280; //11-1 暂列金
 // let demoRptId = 280; //11-1 暂列金
 // let demoRptId = 2260; //测试基本信息
 // let demoRptId = 2260; //测试基本信息