|
@@ -7,6 +7,7 @@ let $JE = require('../rpt_component/jpc_rte');
|
|
|
let consts = require('../../../modules/main/models/project_consts');
|
|
|
|
|
|
let fsUtil = require("../../../public/fsUtil");
|
|
|
+let stringUtil = require("../../../public/stringUtil");
|
|
|
|
|
|
let treeUtil = require('../../../public/treeUtil');
|
|
|
let projectConst = consts.projectConst;
|
|
@@ -102,6 +103,13 @@ class Rpt_Common{
|
|
|
}
|
|
|
return rst;
|
|
|
};
|
|
|
+ FormatString(arrVal, formatStr){
|
|
|
+ let rst = [];
|
|
|
+ for (let val of arrVal) {
|
|
|
+ rst.push(stringUtil.replaceAll(formatStr, '%S', val));
|
|
|
+ }
|
|
|
+ return rst;
|
|
|
+ };
|
|
|
}
|
|
|
|
|
|
class Rpt_Data_Extractor {
|
|
@@ -191,6 +199,9 @@ class Rpt_Data_Extractor {
|
|
|
$PROJECT.MAIN["myOwnRawDataObj"] = rawDataObj.prj._doc;
|
|
|
$PROJECT.MAIN.getProperty = ext_mainGetPropety;
|
|
|
$PROJECT.MAIN.getFee = ext_mainGetFee;
|
|
|
+ for (let item of rawDataObj.prjData) {
|
|
|
+ setupFunc($PROJECT.DETAIL, item.moduleName, item);
|
|
|
+ }
|
|
|
if (tpl[JV.NODE_MAP_DATA_HANDLE_INFO]) {
|
|
|
for (let preHandle of tpl[JV.NODE_MAP_DATA_HANDLE_INFO]) {
|
|
|
let srcData = getModuleDataByKey(rawDataObj.prjData, preHandle[JV.PROP_DATA_KEY]);
|
|
@@ -220,9 +231,6 @@ class Rpt_Data_Extractor {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- for (let item of rawDataObj.prjData) {
|
|
|
- setupFunc($PROJECT.DETAIL, item.moduleName, item);
|
|
|
- }
|
|
|
let rptDataObj = {};
|
|
|
rptDataObj[JV.DATA_DISCRETE_DATA] = [];
|
|
|
rptDataObj[JV.DATA_MASTER_DATA] = [];
|
|
@@ -823,7 +831,9 @@ function sortData(sourceData, sortCfg, prjData) {
|
|
|
function setupFunc(obj, prop, ownRawObj) {
|
|
|
obj[prop] = {};
|
|
|
obj[prop]["myOwnRawDataObj"] = ownRawObj;
|
|
|
+ obj[prop]["myOwnOrgRawDataObj"] = ownRawObj.data;
|
|
|
obj[prop].getProperty = ext_getPropety;
|
|
|
+ obj[prop].getPropertyByRefId = ext_getPropertyByRefId;
|
|
|
obj[prop].getFee = ext_getFee;
|
|
|
obj[prop].getPropertyByForeignId = ext_getPropertyByForeignId;
|
|
|
obj[prop].getArrayValues = ext_getArrayValues;
|
|
@@ -943,6 +953,36 @@ function ext_getPropety(propKey) {
|
|
|
return rst;
|
|
|
}
|
|
|
|
|
|
+function ext_getPropertyByRefId(baseKey, refIDKey, propertyKey){
|
|
|
+ let rst = [], parentObj = this;
|
|
|
+ let dtObj = parentObj["myOwnRawDataObj"];
|
|
|
+ let orgDtObj = parentObj["myOwnOrgRawDataObj"];
|
|
|
+ if (baseKey && refIDKey && propertyKey && dtObj) {
|
|
|
+ for (let dItem of dtObj.data) {
|
|
|
+ let doc = (dItem._doc === null || dItem._doc === undefined)?dItem:dItem._doc;
|
|
|
+ let tmpRst = doc[baseKey];
|
|
|
+ if (typeof tmpRst === "string" && tmpRst[0] === "@") {
|
|
|
+ let refKey = tmpRst.slice(1);
|
|
|
+ let hasGetRef = false;
|
|
|
+ for (let orgDItem of orgDtObj) {
|
|
|
+ let oDoc = (orgDItem._doc === null || orgDItem._doc === undefined)?orgDItem:orgDItem._doc;
|
|
|
+ if (oDoc[refIDKey] === refKey) {
|
|
|
+ rst.push(oDoc[propertyKey]);
|
|
|
+ hasGetRef = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!hasGetRef) {
|
|
|
+ rst.push(tmpRst);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ rst.push(tmpRst);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return rst;
|
|
|
+}
|
|
|
+
|
|
|
function ext_mainGetFee(feeKey, dtlFeeKey) {
|
|
|
let rst = [];
|
|
|
let parentObj = this;
|