|
@@ -12,6 +12,7 @@ const JpcTextHelper = require('./helper/jpc_helper_text');
|
|
|
const JpcCommonOutputHelper = require('./helper/jpc_helper_common_output');
|
|
|
const JpcAreaHelper = require('./helper/jpc_helper_area');
|
|
|
const $FS_UTIL = require('../../public/js/fsUtil');
|
|
|
+const bc = require('../../lib/base_calc.js');
|
|
|
|
|
|
const JpcCrossTabSrv = function() {};
|
|
|
|
|
@@ -262,7 +263,8 @@ JpcCrossTabSrv.prototype.createNew = function() {
|
|
|
if (isNaN(vTtl)) {
|
|
|
vTtl = 0;
|
|
|
}
|
|
|
- rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * vTtl;
|
|
|
+ //rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * vTtl;
|
|
|
+ rowGrandTotal[di] = bc.add(rowGrandTotal[di], vTtl);
|
|
|
}
|
|
|
}
|
|
|
me.col_sum_fields_value_total[i].push(rowGrandTotal);
|
|
@@ -296,7 +298,8 @@ JpcCrossTabSrv.prototype.createNew = function() {
|
|
|
if (isNaN(vTtl)) {
|
|
|
vTtl = 0;
|
|
|
}
|
|
|
- rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * vTtl;
|
|
|
+ // rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * vTtl;
|
|
|
+ rowGrandTotal[di] = bc.add(rowGrandTotal[di], vTtl);
|
|
|
}
|
|
|
}
|
|
|
me.row_sum_fields_value_total[i].push(rowGrandTotal);
|
|
@@ -770,7 +773,7 @@ JpcCrossTabSrv.prototype.createNew = function() {
|
|
|
const me = this;
|
|
|
const rst = [];
|
|
|
const tab = rptTpl[JV.NODE_CROSS_INFO][tabNodeName];
|
|
|
- const band = bands[tab[JV.PROP_BAND_NAME]];
|
|
|
+ const band = tab ? bands[tab[JV.PROP_BAND_NAME]] : null;
|
|
|
if (band) {
|
|
|
const pageStatus = me.pageStatusLst[page - 1];
|
|
|
if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] === true) {
|
|
@@ -941,7 +944,12 @@ JpcCrossTabSrv.prototype.createNew = function() {
|
|
|
// 这里的合计实际是章合计来的,需要seg level全部累加
|
|
|
for (let i = 0; i < me.sortedColSequence[segIdx].length; i++) {
|
|
|
for (let j = 0; j < me.sortedColSequence[segIdx][i].length; j++) {
|
|
|
- rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(data_fields[di], me.sortedColSequence[segIdx][i][j]);
|
|
|
+ // rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(data_fields[di], me.sortedColSequence[segIdx][i][j]);
|
|
|
+ let vTtl = parseFloat(JpcFieldHelper.getValue(data_fields[di], me.sortedColSequence[segIdx][i][j]));
|
|
|
+ if (isNaN(vTtl)) {
|
|
|
+ vTtl = 0;
|
|
|
+ }
|
|
|
+ rowGrandTotal[di] = bc.add(rowGrandTotal[di], vTtl);
|
|
|
}
|
|
|
}
|
|
|
}
|