Selaa lähdekoodia

增加adhoc指标处理函数

TonyKang 5 vuotta sitten
vanhempi
commit
74275e504e
1 muutettua tiedostoa jossa 23 lisäystä ja 5 poistoa
  1. 23 5
      modules/reports/util/rpt_yanghu_data_util.js

+ 23 - 5
modules/reports/util/rpt_yanghu_data_util.js

@@ -1315,6 +1315,7 @@ function setupFunc(obj, prop, ownRawObj) {
     obj[prop]["myOwnOrgRawDataObj"] = ownRawObj.data;
     obj[prop].getProperty = ext_getProperty;
     obj[prop].getGljFreightProperty = ext_getGljFreightProperty;
+    obj[prop].getAdHocGljProperty = ext_getAdHocGljProperty;
     obj[prop].getGljOriginalProperty = ext_getGljOriginalProperty;
     obj[prop].getPropertyByRefId = ext_getPropertyByRefId;
     obj[prop].getFee = ext_getFee;
@@ -1531,10 +1532,10 @@ function ext_getAdHocGljProperty(adhocDataKey, propKey) {
     let rst = [], parentObj = this;
     let dtObj = parentObj["myOwnRawDataObj"];
     if (propKey && dtObj) {
-        // for (let dItem of getActDataArr(dtObj)) {
-        //     let doc = (dItem._doc === null || dItem._doc === undefined)?dItem:dItem._doc;
-        //     pri_push_property(propKey, doc, rst);
-        // }
+        for (let dItem of getActDataArr(dtObj, adhocDataKey)) {
+            let doc = (dItem._doc === null || dItem._doc === undefined)?dItem:dItem._doc;
+            pri_push_property(propKey, doc, rst);
+        }
     }
     return rst;
 }
@@ -1919,7 +1920,24 @@ function getActDataArr(dtObj, adhocKey) {
         rst = dtObj.data;
         if (dtObj.moduleName === "projectGLJ") {
             if (adhocKey) {
-                rst = dtObj.data[adhocKey];
+                // rst = dtObj.data[adhocKey];
+                let props = adhocKey.split(',');
+                let nextData = dtObj.data[props[0]];
+                if (nextData._doc) {
+                    nextData = nextData._doc;
+                }
+                for (let idx = 1; idx < props.length; idx++) {
+                    nextData = nextData[props[idx]];
+                    if (nextData._doc) {
+                        nextData = nextData._doc;
+                    }
+                }
+                if (nextData instanceof Array) {
+                    rst = nextData;
+                } else {
+                    rst = [];
+                    rst.push(nextData);
+                }
             } else {
                 rst = dtObj.data.gljList;
             }