Browse Source

09-1 人材机合计有误

TonyKang 7 years ago
parent
commit
ac4dee004d
1 changed files with 10 additions and 8 deletions
  1. 10 8
      modules/reports/util/rpt_construct_data_util.js

+ 10 - 8
modules/reports/util/rpt_construct_data_util.js

@@ -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;
                     }
                 }
             }