|
@@ -302,29 +302,31 @@ function summaryData(sourceData, handleCfg, prjData){
|
|
|
let private_cal_before_sum = function () {
|
|
|
for (let calcAheadObj of handleCfg[JV.PROP_SUM_CALC_AHEAD]) {
|
|
|
if (!curParentPrjData[calcAheadObj["seeking_parent"]]) curParentPrjData[calcAheadObj["seeking_parent"]] = getModuleDataByKey(prjData, calcAheadObj["seeking_parent"]);
|
|
|
- for (let pDataItem of curParentPrjData[calcAheadObj["seeking_parent"]].data) {
|
|
|
+ for (let idxP = 0; idxP < curParentPrjData[calcAheadObj["seeking_parent"]].data.length; idxP++) {
|
|
|
+ let pDataItem = curParentPrjData[calcAheadObj["seeking_parent"]].data[idxP];
|
|
|
let data = (pDataItem._doc)?pDataItem._doc:pDataItem;
|
|
|
- for (let item of tempRstArr) {
|
|
|
- if (item[calcAheadObj["seeking_key"]] === data[calcAheadObj["parent_key"]]) {
|
|
|
+ for (let idx = 0; idx < tempRstArr.length; idx++) {
|
|
|
+ let dtlItem = tempRstArr[idx];
|
|
|
+ if (dtlItem[calcAheadObj["seeking_key"]] === data[calcAheadObj["parent_key"]]) {
|
|
|
for (let sumKey of handleCfg[JV.PROP_SUM_SUM_KEYS]) {
|
|
|
switch (calcAheadObj[JV.PROP_SUM_CACL_TYPE]) {
|
|
|
case "+":
|
|
|
- item[sumKey] = parseFloat(item[sumKey]) + parseFloat(data[calcAheadObj["calc_property"]]);
|
|
|
+ dtlItem[sumKey] = parseFloat(dtlItem[sumKey]) + parseFloat(data[calcAheadObj["calc_property"]]);
|
|
|
break;
|
|
|
case "-":
|
|
|
- item[sumKey] = parseFloat(item[sumKey]) - parseFloat(data[calcAheadObj["calc_property"]]);
|
|
|
+ dtlItem[sumKey] = parseFloat(dtlItem[sumKey]) - parseFloat(data[calcAheadObj["calc_property"]]);
|
|
|
break;
|
|
|
case "*":
|
|
|
- item[sumKey] = item[sumKey] * parseFloat(data[calcAheadObj["calc_property"]]).toFixed(4);
|
|
|
+ dtlItem[sumKey] = dtlItem[sumKey] * parseFloat(data[calcAheadObj["calc_property"]]).toFixed(4);
|
|
|
break;
|
|
|
case "/":
|
|
|
- item[sumKey] = item[sumKey] / parseFloat(data[calcAheadObj["calc_property"]]).toFixed(4);
|
|
|
+ dtlItem[sumKey] = dtlItem[sumKey] / parseFloat(data[calcAheadObj["calc_property"]]).toFixed(4);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- break;
|
|
|
+ // break;
|
|
|
}
|
|
|
}
|
|
|
}
|