|
@@ -14,7 +14,7 @@ const JpcAreaHelper = require('./helper/jpc_helper_area');
|
|
|
const fsUtil = require('../public/fsUtil');
|
|
|
const strUtil = require('../public/stringUtil');
|
|
|
const fontWidthMap = require('./helper/jpc_helper_font_width');
|
|
|
-
|
|
|
+const bc = require('../../lib/base_calc.js');
|
|
|
|
|
|
const JpcFlowTabSrv = function() {};
|
|
|
JpcFlowTabSrv.prototype.createNew = function() {
|
|
@@ -244,12 +244,19 @@ JpcFlowTabSrv.prototype.createNew = function() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // for (let j = 0; j < me.segments[i].length; j++) {
|
|
|
+ // // 3. start to sum
|
|
|
+ // // rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(data_fields[di], me.segments[i][j]);
|
|
|
+ // const sv = JpcFieldHelper.getValue(data_fields[di], me.segments[i][j]);
|
|
|
+ // if (sv) {
|
|
|
+ // rowGrandTotal[di] = rowGrandTotal[di] + parseFloat(parseFloat(sv).toFixed(precisionAmt));
|
|
|
+ // }
|
|
|
+ // }
|
|
|
for (let j = 0; j < me.segments[i].length; j++) {
|
|
|
- // 3. start to sum
|
|
|
- // rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(data_fields[di], me.segments[i][j]);
|
|
|
- const sv = JpcFieldHelper.getValue(data_fields[di], me.segments[i][j]);
|
|
|
+ let sv = JpcFieldHelper.getValue(data_fields[di], me.segments[i][j]);
|
|
|
if (sv) {
|
|
|
- rowGrandTotal[di] = rowGrandTotal[di] + parseFloat(parseFloat(sv).toFixed(precisionAmt));
|
|
|
+ if (typeof sv === 'string') sv = parseFloat(sv);
|
|
|
+ rowGrandTotal[di] = bc.add(rowGrandTotal[di] ? rowGrandTotal[di] : 0, sv ? sv: 0);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -285,7 +292,13 @@ JpcFlowTabSrv.prototype.createNew = function() {
|
|
|
}
|
|
|
}
|
|
|
// sumV += parseFloat(JpcFieldHelper.getValue(data_field, segDataIdx[si]));
|
|
|
- sumV += parseFloat(parseFloat(JpcFieldHelper.getValue(data_field, segDataIdx[si])).toFixed(precisionAmt));
|
|
|
+
|
|
|
+ let sv = JpcFieldHelper.getValue(data_field, segDataIdx[si]);
|
|
|
+ if (sv) {
|
|
|
+ if (typeof sv === 'string') sv = parseFloat(sv);
|
|
|
+ sumV = bc.add(sumV, sv ? sv : 0);
|
|
|
+ }
|
|
|
+ //sumV += parseFloat(parseFloat(JpcFieldHelper.getValue(data_field, segDataIdx[si])).toFixed(precisionAmt));
|
|
|
}
|
|
|
// me.group_sum_values[segIdx][j].push(sumV);
|
|
|
me.group_sum_values[segIdx][me.group_sum_fields[j][JV.PROP_SUM_KEY]].push(sumV);
|