|  | @@ -12,6 +12,8 @@ let stringUtil = require("../../../public/stringUtil");
 | 
												
													
														
															|  |  let treeUtil = require('../../../public/treeUtil');
 |  |  let treeUtil = require('../../../public/treeUtil');
 | 
												
													
														
															|  |  let projectConst = consts.projectConst;
 |  |  let projectConst = consts.projectConst;
 | 
												
													
														
															|  |  let projectConstList = consts.projectConstList;
 |  |  let projectConstList = consts.projectConstList;
 | 
												
													
														
															|  | 
 |  | +const gljUtil = require('../../../public/gljUtil');
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  const GLJ_TYPE = {
 |  |  const GLJ_TYPE = {
 | 
												
													
														
															|  |      Labour: 1,
 |  |      Labour: 1,
 | 
												
											
												
													
														
															|  | @@ -134,11 +136,25 @@ class Rpt_Data_Extractor {
 | 
												
													
														
															|  |                              if (key === projectConst.RATION_GLJ && (rst.indexOf(projectConst.PROJECTGLJ) < 0)) {
 |  |                              if (key === projectConst.RATION_GLJ && (rst.indexOf(projectConst.PROJECTGLJ) < 0)) {
 | 
												
													
														
															|  |                                  rst.push(projectConst.PROJECTGLJ);
 |  |                                  rst.push(projectConst.PROJECTGLJ);
 | 
												
													
														
															|  |                              }
 |  |                              }
 | 
												
													
														
															|  | -                            if (key === projectConst.PROJECTGLJ && (rst.indexOf(projectConst.RATION_GLJ) < 0)) {
 |  | 
 | 
												
													
														
															|  | -                                rst.push(projectConst.RATION_GLJ);
 |  | 
 | 
												
													
														
															|  | 
 |  | +                            if (key === projectConst.PROJECTGLJ) {
 | 
												
													
														
															|  | 
 |  | +                                if (rst.indexOf(projectConst.RATION_GLJ) < 0) rst.push(projectConst.RATION_GLJ);
 | 
												
													
														
															|  | 
 |  | +                                if (field[JV.PROP_FIELD_EXP_MAP].indexOf("'quantity'") > 0 ||
 | 
												
													
														
															|  | 
 |  | +                                    field[JV.PROP_FIELD_EXP_MAP].indexOf("'subdivisionQuantity'") > 0 ||
 | 
												
													
														
															|  | 
 |  | +                                    field[JV.PROP_FIELD_EXP_MAP].indexOf("'techQuantity'") > 0 ) {
 | 
												
													
														
															|  | 
 |  | +                                    if (rst.indexOf(projectConst.RATION) < 0) rst.push(projectConst.RATION);
 | 
												
													
														
															|  | 
 |  | +                                    if (rst.indexOf(projectConst.BILLS) < 0) rst.push(projectConst.BILLS);
 | 
												
													
														
															|  | 
 |  | +                                }
 | 
												
													
														
															|  |                              }
 |  |                              }
 | 
												
													
														
															|  |                          }
 |  |                          }
 | 
												
													
														
															|  |                      }
 |  |                      }
 | 
												
													
														
															|  | 
 |  | +                } else if (key === projectConst.PROJECTGLJ) {
 | 
												
													
														
															|  | 
 |  | +                    if (rst.indexOf(projectConst.RATION_GLJ) < 0) rst.push(projectConst.RATION_GLJ);
 | 
												
													
														
															|  | 
 |  | +                    if (field[JV.PROP_FIELD_EXP_MAP].indexOf("'quantity'") > 0 ||
 | 
												
													
														
															|  | 
 |  | +                        field[JV.PROP_FIELD_EXP_MAP].indexOf("'subdivisionQuantity'") > 0 ||
 | 
												
													
														
															|  | 
 |  | +                        field[JV.PROP_FIELD_EXP_MAP].indexOf("'techQuantity'") > 0 ) {
 | 
												
													
														
															|  | 
 |  | +                        if (rst.indexOf(projectConst.RATION) < 0) rst.push(projectConst.RATION);
 | 
												
													
														
															|  | 
 |  | +                        if (rst.indexOf(projectConst.BILLS) < 0) rst.push(projectConst.BILLS);
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  |                  }
 |  |                  }
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  |          };
 |  |          };
 | 
												
											
												
													
														
															|  | @@ -202,6 +218,14 @@ class Rpt_Data_Extractor {
 | 
												
													
														
															|  |          for (let item of rawDataObj.prjData) {
 |  |          for (let item of rawDataObj.prjData) {
 | 
												
													
														
															|  |              setupFunc($PROJECT.DETAIL, item.moduleName, item);
 |  |              setupFunc($PROJECT.DETAIL, item.moduleName, item);
 | 
												
													
														
															|  |          }
 |  |          }
 | 
												
													
														
															|  | 
 |  | +        let projectGLJDatas = getModuleDataByKey(rawDataObj.prjData, "projectGLJ");
 | 
												
													
														
															|  | 
 |  | +        let rationGLJDatas = getModuleDataByKey(rawDataObj.prjData, "ration_glj");
 | 
												
													
														
															|  | 
 |  | +        let rationDatas = getModuleDataByKey(rawDataObj.prjData, "ration");
 | 
												
													
														
															|  | 
 |  | +        let billsDatas = getModuleDataByKey(rawDataObj.prjData, "bills");
 | 
												
													
														
															|  | 
 |  | +        if (projectGLJDatas && rationGLJDatas && rationDatas && billsDatas) {
 | 
												
													
														
															|  | 
 |  | +            gljUtil.calcProjectGLJQuantity(projectGLJDatas.data, rationGLJDatas.data, rationDatas.data, billsDatas.data, 4);
 | 
												
													
														
															|  | 
 |  | +        }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  |          if (tpl[JV.NODE_MAP_DATA_HANDLE_INFO]) {
 |  |          if (tpl[JV.NODE_MAP_DATA_HANDLE_INFO]) {
 | 
												
													
														
															|  |              for (let preHandle of 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]);
 |  |                  let srcData = getModuleDataByKey(rawDataObj.prjData, preHandle[JV.PROP_DATA_KEY]);
 | 
												
											
												
													
														
															|  | @@ -292,7 +316,7 @@ function getModuleDataByKey(prjData, key) {
 | 
												
													
														
															|  |  function summaryData(sourceData, handleCfg, prjData){
 |  |  function summaryData(sourceData, handleCfg, prjData){
 | 
												
													
														
															|  |      let rstArr = [], tempRstArr = [];
 |  |      let rstArr = [], tempRstArr = [];
 | 
												
													
														
															|  |      let curParentPrjData = {};
 |  |      let curParentPrjData = {};
 | 
												
													
														
															|  | -    for (let item of sourceData.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +    for (let item of getActDataArr(sourceData)) {
 | 
												
													
														
															|  |          if (item._doc) {
 |  |          if (item._doc) {
 | 
												
													
														
															|  |              tempRstArr.push(item._doc);
 |  |              tempRstArr.push(item._doc);
 | 
												
													
														
															|  |          } else {
 |  |          } else {
 | 
												
											
												
													
														
															|  | @@ -368,14 +392,13 @@ function summaryData(sourceData, handleCfg, prjData){
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  |          }
 |  |          }
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  | -    delete sourceData.data;
 |  | 
 | 
												
													
														
															|  | -    sourceData.data = rstArr;
 |  | 
 | 
												
													
														
															|  | 
 |  | +    replaceActDataArr(sourceData, rstArr);
 | 
												
													
														
															|  |      // fsUtil.writeObjToFile(sourceData.data, "D:/GitHome/ConstructionCost/tmp/sumRst.jsp");
 |  |      // fsUtil.writeObjToFile(sourceData.data, "D:/GitHome/ConstructionCost/tmp/sumRst.jsp");
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  function filterData(sourceData, handleCfg, prjData) {
 |  |  function filterData(sourceData, handleCfg, prjData) {
 | 
												
													
														
															|  |      let rstArr = [], tempRstArr = [];
 |  |      let rstArr = [], tempRstArr = [];
 | 
												
													
														
															|  | -    for (let item of sourceData.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +    for (let item of getActDataArr(sourceData)) {
 | 
												
													
														
															|  |          if (item._doc) {
 |  |          if (item._doc) {
 | 
												
													
														
															|  |              tempRstArr.push(item._doc);
 |  |              tempRstArr.push(item._doc);
 | 
												
													
														
															|  |          } else {
 |  |          } else {
 | 
												
											
												
													
														
															|  | @@ -414,9 +437,9 @@ function filterData(sourceData, handleCfg, prjData) {
 | 
												
													
														
															|  |                      rst = compVal.indexOf(src) >= 0;
 |  |                      rst = compVal.indexOf(src) >= 0;
 | 
												
													
														
															|  |                  } else {
 |  |                  } else {
 | 
												
													
														
															|  |                      //string,需要转类型
 |  |                      //string,需要转类型
 | 
												
													
														
															|  | -                    let newCv = JSON.parse(compVal);
 |  | 
 | 
												
													
														
															|  | -                    if (newCv instanceof Array) {
 |  | 
 | 
												
													
														
															|  | -                        rst = newCv.indexOf(src) >= 0;
 |  | 
 | 
												
													
														
															|  | 
 |  | +                    let newInCv = JSON.parse(compVal);
 | 
												
													
														
															|  | 
 |  | +                    if (newInCv instanceof Array) {
 | 
												
													
														
															|  | 
 |  | +                        rst = newInCv.indexOf(src) >= 0;
 | 
												
													
														
															|  |                      } else {
 |  |                      } else {
 | 
												
													
														
															|  |                          rst = false;
 |  |                          rst = false;
 | 
												
													
														
															|  |                      }
 |  |                      }
 | 
												
											
												
													
														
															|  | @@ -427,9 +450,9 @@ function filterData(sourceData, handleCfg, prjData) {
 | 
												
													
														
															|  |                      rst = compVal.indexOf(src) < 0;
 |  |                      rst = compVal.indexOf(src) < 0;
 | 
												
													
														
															|  |                  } else {
 |  |                  } else {
 | 
												
													
														
															|  |                      //string,需要转类型
 |  |                      //string,需要转类型
 | 
												
													
														
															|  | -                    let newCv = JSON.parse(compVal);
 |  | 
 | 
												
													
														
															|  | -                    if (newCv instanceof Array) {
 |  | 
 | 
												
													
														
															|  | -                        rst = newCv.indexOf(src) < 0;
 |  | 
 | 
												
													
														
															|  | 
 |  | +                    let newNotInCv = JSON.parse(compVal);
 | 
												
													
														
															|  | 
 |  | +                    if (newNotInCv instanceof Array) {
 | 
												
													
														
															|  | 
 |  | +                        rst = (newNotInCv.indexOf(src) < 0);
 | 
												
													
														
															|  |                      } else {
 |  |                      } else {
 | 
												
													
														
															|  |                          rst = true;
 |  |                          rst = true;
 | 
												
													
														
															|  |                      }
 |  |                      }
 | 
												
											
												
													
														
															|  | @@ -442,12 +465,25 @@ function filterData(sourceData, handleCfg, prjData) {
 | 
												
													
														
															|  |      };
 |  |      };
 | 
												
													
														
															|  |      let private_chkArrVal = function(arr, key, compVal, compStr){
 |  |      let private_chkArrVal = function(arr, key, compVal, compStr){
 | 
												
													
														
															|  |          let rst = false;
 |  |          let rst = false;
 | 
												
													
														
															|  | -        for (let arrItem of arr) {
 |  | 
 | 
												
													
														
															|  | -            if (arrItem[key]) {
 |  | 
 | 
												
													
														
															|  | -                rst = private_chkVal(arrItem[key], compVal, compStr);
 |  | 
 | 
												
													
														
															|  | 
 |  | +        if (arr.length > 0) {
 | 
												
													
														
															|  | 
 |  | +            for (let arrItem of arr) {
 | 
												
													
														
															|  | 
 |  | +                if (arrItem[key]) {
 | 
												
													
														
															|  | 
 |  | +                    rst = private_chkVal(arrItem[key], compVal, compStr);
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +                if (rst) {
 | 
												
													
														
															|  | 
 |  | +                    break;
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  | -            if (rst) {
 |  | 
 | 
												
													
														
															|  | -                break;
 |  | 
 | 
												
													
														
															|  | 
 |  | +        } else {
 | 
												
													
														
															|  | 
 |  | +            //在某些判断条件下(含有'非'判断),如arr没有数组项,默认结果反而是true
 | 
												
													
														
															|  | 
 |  | +            switch (compStr) {
 | 
												
													
														
															|  | 
 |  | +                case "!=" :
 | 
												
													
														
															|  | 
 |  | +                case "!==" :
 | 
												
													
														
															|  | 
 |  | +                case "not in":
 | 
												
													
														
															|  | 
 |  | +                    rst = true;
 | 
												
													
														
															|  | 
 |  | +                    break;
 | 
												
													
														
															|  | 
 |  | +                default:
 | 
												
													
														
															|  | 
 |  | +                    break;
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  |          }
 |  |          }
 | 
												
													
														
															|  |          return rst;
 |  |          return rst;
 | 
												
											
												
													
														
															|  | @@ -462,11 +498,7 @@ function filterData(sourceData, handleCfg, prjData) {
 | 
												
													
														
															|  |              curComparePrjData = getModuleDataByKey(prjData, targetDataKey);
 |  |              curComparePrjData = getModuleDataByKey(prjData, targetDataKey);
 | 
												
													
														
															|  |              try {
 |  |              try {
 | 
												
													
														
															|  |                  if (curComparePrjData !== null) {
 |  |                  if (curComparePrjData !== null) {
 | 
												
													
														
															|  | -                    if (targetDataKey === "projectGLJ") {
 |  | 
 | 
												
													
														
															|  | -                        objDataArr = curComparePrjData.data.gljList;
 |  | 
 | 
												
													
														
															|  | -                    } else {
 |  | 
 | 
												
													
														
															|  | -                        objDataArr = curComparePrjData.data;
 |  | 
 | 
												
													
														
															|  | -                    }
 |  | 
 | 
												
													
														
															|  | 
 |  | +                    objDataArr = getActDataArr(curComparePrjData);
 | 
												
													
														
															|  |                      for (let dtl of objDataArr) {
 |  |                      for (let dtl of objDataArr) {
 | 
												
													
														
															|  |                          if (item[refKey] === dtl[targetPropertyKey]) {
 |  |                          if (item[refKey] === dtl[targetPropertyKey]) {
 | 
												
													
														
															|  |                              rst = dtl;
 |  |                              rst = dtl;
 | 
												
											
												
													
														
															|  | @@ -523,7 +555,7 @@ function filterData(sourceData, handleCfg, prjData) {
 | 
												
													
														
															|  |                      if (!compareObj.hasOwnProperty(cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY] + startIdx.toString())) {
 |  |                      if (!compareObj.hasOwnProperty(cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY] + startIdx.toString())) {
 | 
												
													
														
															|  |                          compareObj[cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY] + startIdx.toString()] = [];
 |  |                          compareObj[cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY] + startIdx.toString()] = [];
 | 
												
													
														
															|  |                          compareArr = compareObj[cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY] + startIdx.toString()];
 |  |                          compareArr = compareObj[cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY] + startIdx.toString()];
 | 
												
													
														
															|  | -                        for (let data of curComparePrjData.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +                        for (let data of getActDataArr(curComparePrjData)) {
 | 
												
													
														
															|  |                              if (compareArr.indexOf(data[cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY]]) < 0) {
 |  |                              if (compareArr.indexOf(data[cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY]]) < 0) {
 | 
												
													
														
															|  |                                  compareArr.push(data[cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY]]);
 |  |                                  compareArr.push(data[cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY]]);
 | 
												
													
														
															|  |                              }
 |  |                              }
 | 
												
											
												
													
														
															|  | @@ -533,16 +565,35 @@ function filterData(sourceData, handleCfg, prjData) {
 | 
												
													
														
															|  |                      }
 |  |                      }
 | 
												
													
														
															|  |                      compRst = private_chkVal(item[cfg.key], compareArr, cfg[JV.PROP_FILTER_CONDITION]);
 |  |                      compRst = private_chkVal(item[cfg.key], compareArr, cfg[JV.PROP_FILTER_CONDITION]);
 | 
												
													
														
															|  |                  } else {
 |  |                  } else {
 | 
												
													
														
															|  | -                    for (let data of curComparePrjData.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +                    for (let data of getActDataArr(curComparePrjData)) {
 | 
												
													
														
															|  |                          compRst = private_chkVal(item[cfg.key], data[cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY]], cfg[JV.PROP_FILTER_CONDITION]);
 |  |                          compRst = private_chkVal(item[cfg.key], data[cfg[JV.PROP_FILTER_COMPARE_OBJ_KEY]], cfg[JV.PROP_FILTER_CONDITION]);
 | 
												
													
														
															|  |                          if (compRst) break;
 |  |                          if (compRst) break;
 | 
												
													
														
															|  |                      }
 |  |                      }
 | 
												
													
														
															|  |                  }
 |  |                  }
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  |              startIdx++;
 |  |              startIdx++;
 | 
												
													
														
															|  | 
 |  | +            if (!compRst) {
 | 
												
													
														
															|  | 
 |  | +                break; //有不符合条件的数据则退出(这里的判断条件是and关系)
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  |          }
 |  |          }
 | 
												
													
														
															|  |          return compRst;
 |  |          return compRst;
 | 
												
													
														
															|  |      };
 |  |      };
 | 
												
													
														
															|  | 
 |  | +    let private_sub_filter_compare = function (dtlItem, subFilters) {
 | 
												
													
														
															|  | 
 |  | +        let cmpRst = false;
 | 
												
													
														
															|  | 
 |  | +        for (let dtlCfg of subFilters) {
 | 
												
													
														
															|  | 
 |  | +            cmpRst = private_filter_compare(dtlItem, dtlCfg);
 | 
												
													
														
															|  | 
 |  | +            if (cmpRst) {
 | 
												
													
														
															|  | 
 |  | +                if (dtlCfg[JV.PROP_OTHER_SUB_FILTER] && dtlCfg[JV.PROP_OTHER_SUB_FILTER].length > 0) {
 | 
												
													
														
															|  | 
 |  | +                    cmpRst = private_sub_filter_compare(dtlItem, dtlCfg[JV.PROP_OTHER_SUB_FILTER]);
 | 
												
													
														
															|  | 
 |  | +                    if (cmpRst) break;
 | 
												
													
														
															|  | 
 |  | +                } else {
 | 
												
													
														
															|  | 
 |  | +                    break;
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +        }
 | 
												
													
														
															|  | 
 |  | +        return cmpRst;
 | 
												
													
														
															|  | 
 |  | +    };
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  |      for (let item of tempRstArr) {
 |  |      for (let item of tempRstArr) {
 | 
												
													
														
															|  |          if (private_filter_compare(item, handleCfg)) {
 |  |          if (private_filter_compare(item, handleCfg)) {
 | 
												
													
														
															|  |              rstArr.push(item);
 |  |              rstArr.push(item);
 | 
												
											
												
													
														
															|  | @@ -551,25 +602,20 @@ function filterData(sourceData, handleCfg, prjData) {
 | 
												
													
														
															|  |      if (handleCfg[JV.PROP_OTHER_SUB_FILTER] && handleCfg[JV.PROP_OTHER_SUB_FILTER].length > 0) {
 |  |      if (handleCfg[JV.PROP_OTHER_SUB_FILTER] && handleCfg[JV.PROP_OTHER_SUB_FILTER].length > 0) {
 | 
												
													
														
															|  |          let newRstArr = [];
 |  |          let newRstArr = [];
 | 
												
													
														
															|  |          for (let dtlItem of rstArr) {
 |  |          for (let dtlItem of rstArr) {
 | 
												
													
														
															|  | -            let cmpRst = false;
 |  | 
 | 
												
													
														
															|  | -            for (let dtlCfg of handleCfg[JV.PROP_OTHER_SUB_FILTER]) {
 |  | 
 | 
												
													
														
															|  | -                cmpRst = private_filter_compare(dtlItem, dtlCfg);
 |  | 
 | 
												
													
														
															|  | -                if (cmpRst) {
 |  | 
 | 
												
													
														
															|  | -                    newRstArr.push(dtlItem);
 |  | 
 | 
												
													
														
															|  | -                    break;
 |  | 
 | 
												
													
														
															|  | -                }
 |  | 
 | 
												
													
														
															|  | 
 |  | +            let cmpRst = private_sub_filter_compare(dtlItem, handleCfg[JV.PROP_OTHER_SUB_FILTER]);
 | 
												
													
														
															|  | 
 |  | +            if (cmpRst) {
 | 
												
													
														
															|  | 
 |  | +                newRstArr.push(dtlItem);
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  |          }
 |  |          }
 | 
												
													
														
															|  |          rstArr = newRstArr;
 |  |          rstArr = newRstArr;
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  | -    delete sourceData.data;
 |  | 
 | 
												
													
														
															|  | -    sourceData.data = rstArr;
 |  | 
 | 
												
													
														
															|  | -    // fsUtil.writeObjToFile(sourceData.data, "D:/GitHome/ConstructionCost/tmp/filteredRst.js");
 |  | 
 | 
												
													
														
															|  | 
 |  | +    replaceActDataArr(sourceData, rstArr);
 | 
												
													
														
															|  | 
 |  | +    // fsUtil.writeObjToFile(sourceData.data, "D:/GitHome/ConstructionCost/tmp/filteredRst.jsp");
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  function adjustData(sourceData, adjustCfg) {
 |  |  function adjustData(sourceData, adjustCfg) {
 | 
												
													
														
															|  |      let rstArr = [];
 |  |      let rstArr = [];
 | 
												
													
														
															|  | -    for (let item of sourceData.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +    for (let item of getActDataArr(sourceData)) {
 | 
												
													
														
															|  |          if (item._doc) {
 |  |          if (item._doc) {
 | 
												
													
														
															|  |              rstArr.push(item._doc);
 |  |              rstArr.push(item._doc);
 | 
												
													
														
															|  |          } else {
 |  |          } else {
 | 
												
											
												
													
														
															|  | @@ -585,8 +631,7 @@ function adjustData(sourceData, adjustCfg) {
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  |          }
 |  |          }
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  | -    delete sourceData.data;
 |  | 
 | 
												
													
														
															|  | -    sourceData.data = rstArr;
 |  | 
 | 
												
													
														
															|  | 
 |  | +    replaceActDataArr(sourceData, rstArr);
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  function moveRationData(rationData, rawDataObj) {
 |  |  function moveRationData(rationData, rawDataObj) {
 | 
												
											
												
													
														
															|  | @@ -595,7 +640,7 @@ function moveRationData(rationData, rawDataObj) {
 | 
												
													
														
															|  |          let rationGljData = getModuleDataByKey(rawDataObj.prjData, projectConst.RATION_GLJ);
 |  |          let rationGljData = getModuleDataByKey(rawDataObj.prjData, projectConst.RATION_GLJ);
 | 
												
													
														
															|  |          let prjGljData = getModuleDataByKey(rawDataObj.prjData, projectConst.PROJECTGLJ);
 |  |          let prjGljData = getModuleDataByKey(rawDataObj.prjData, projectConst.PROJECTGLJ);
 | 
												
													
														
															|  |          let dummyCode = " ", dummyPRJID = 10101010;
 |  |          let dummyCode = " ", dummyPRJID = 10101010;
 | 
												
													
														
															|  | -        for (let rationItem of rationData.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +        for (let rationItem of getActDataArr(rationData)) {
 | 
												
													
														
															|  |              if (rationItem.type === 2 || rationItem.type === 3) {
 |  |              if (rationItem.type === 2 || rationItem.type === 3) {
 | 
												
													
														
															|  |                  //2: 量材(人工/材料/机械/主材/设备) 3:材料(材料/主材/设备)
 |  |                  //2: 量材(人工/材料/机械/主材/设备) 3:材料(材料/主材/设备)
 | 
												
													
														
															|  |                  let copyItem = {};
 |  |                  let copyItem = {};
 | 
												
											
												
													
														
															|  | @@ -672,7 +717,7 @@ function getDupGrpKeyVals(sourceData, segKeys) {
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  function addDummyData(sourceData, addCfg) {
 |  |  function addDummyData(sourceData, addCfg) {
 | 
												
													
														
															|  |      let rstArr = [], tempRstArr = [];
 |  |      let rstArr = [], tempRstArr = [];
 | 
												
													
														
															|  | -    for (let item of sourceData.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +    for (let item of getActDataArr(sourceData)) {
 | 
												
													
														
															|  |          if (item._doc) {
 |  |          if (item._doc) {
 | 
												
													
														
															|  |              tempRstArr.push(item._doc);
 |  |              tempRstArr.push(item._doc);
 | 
												
													
														
															|  |          } else {
 |  |          } else {
 | 
												
											
												
													
														
															|  | @@ -705,8 +750,7 @@ function addDummyData(sourceData, addCfg) {
 | 
												
													
														
															|  |          }
 |  |          }
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  |      rstArr = rstArr.concat(tempRstArr);
 |  |      rstArr = rstArr.concat(tempRstArr);
 | 
												
													
														
															|  | -    delete sourceData.data;
 |  | 
 | 
												
													
														
															|  | -    sourceData.data = rstArr;
 |  | 
 | 
												
													
														
															|  | 
 |  | +    replaceActDataArr(sourceData, rstArr);
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  function getGLJBizType(orgType, orgCode, orgName) {
 |  |  function getGLJBizType(orgType, orgCode, orgName) {
 | 
												
											
												
													
														
															|  | @@ -746,9 +790,10 @@ function getGLJBizType(orgType, orgCode, orgName) {
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  function sortData(sourceData, sortCfg, prjData) {
 |  |  function sortData(sourceData, sortCfg, prjData) {
 | 
												
													
														
															|  | -    let rst = sourceData.data, tempRstArr = [];
 |  | 
 | 
												
													
														
															|  | 
 |  | +    let rst = getActDataArr(sourceData), tempRstArr = [];
 | 
												
													
														
															|  |      let sortType = sortCfg[JV.PROP_SORT_TYPE];
 |  |      let sortType = sortCfg[JV.PROP_SORT_TYPE];
 | 
												
													
														
															|  | -    for (let item of sourceData.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +    let srcData = getActDataArr(sourceData);
 | 
												
													
														
															|  | 
 |  | +    for (let item of srcData) {
 | 
												
													
														
															|  |          if (item._doc) {
 |  |          if (item._doc) {
 | 
												
													
														
															|  |              tempRstArr.push(item._doc);
 |  |              tempRstArr.push(item._doc);
 | 
												
													
														
															|  |          } else {
 |  |          } else {
 | 
												
											
												
													
														
															|  | @@ -849,14 +894,12 @@ function sortData(sourceData, sortCfg, prjData) {
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  |              let destArr = [];
 |  |              let destArr = [];
 | 
												
													
														
															|  |              treeUtil.getFlatArray(newTopArr, destArr);
 |  |              treeUtil.getFlatArray(newTopArr, destArr);
 | 
												
													
														
															|  | -            delete sourceData.data;
 |  | 
 | 
												
													
														
															|  | -            sourceData.data = destArr;
 |  | 
 | 
												
													
														
															|  | 
 |  | +            replaceActDataArr(sourceData, destArr);
 | 
												
													
														
															|  |              // fsUtil.writeObjToFile(sourceData.data, "D:/GitHome/ConstructionCost/tmp/sortedAndFlattedRst.jsp");
 |  |              // fsUtil.writeObjToFile(sourceData.data, "D:/GitHome/ConstructionCost/tmp/sortedAndFlattedRst.jsp");
 | 
												
													
														
															|  |              break;
 |  |              break;
 | 
												
													
														
															|  |          case "normal":
 |  |          case "normal":
 | 
												
													
														
															|  |              private_normal_sort(tempRstArr, sortCfg[JV.PROP_SORT_KEYS]);
 |  |              private_normal_sort(tempRstArr, sortCfg[JV.PROP_SORT_KEYS]);
 | 
												
													
														
															|  | -            delete sourceData.data;
 |  | 
 | 
												
													
														
															|  | -            sourceData.data = tempRstArr;
 |  | 
 | 
												
													
														
															|  | 
 |  | +            replaceActDataArr(sourceData, tempRstArr);
 | 
												
													
														
															|  |              // fsUtil.writeObjToFile(sourceData.data, "D:/GitHome/ConstructionCost/tmp/normalSortedRst.jsp");
 |  |              // fsUtil.writeObjToFile(sourceData.data, "D:/GitHome/ConstructionCost/tmp/normalSortedRst.jsp");
 | 
												
													
														
															|  |              break;
 |  |              break;
 | 
												
													
														
															|  |          case "accord_to_parent":
 |  |          case "accord_to_parent":
 | 
												
											
												
													
														
															|  | @@ -864,7 +907,7 @@ function sortData(sourceData, sortCfg, prjData) {
 | 
												
													
														
															|  |              let parentSrcData = getModuleDataByKey(prjData, pcKey[JV.PROP_PARENT_DATA_KEY]);
 |  |              let parentSrcData = getModuleDataByKey(prjData, pcKey[JV.PROP_PARENT_DATA_KEY]);
 | 
												
													
														
															|  |              if (parentSrcData) {
 |  |              if (parentSrcData) {
 | 
												
													
														
															|  |                  let tempParentArr = [];
 |  |                  let tempParentArr = [];
 | 
												
													
														
															|  | -                for (let item of parentSrcData.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +                for (let item of getActDataArr(parentSrcData)) {
 | 
												
													
														
															|  |                      if (item._doc) {
 |  |                      if (item._doc) {
 | 
												
													
														
															|  |                          tempParentArr.push(item._doc);
 |  |                          tempParentArr.push(item._doc);
 | 
												
													
														
															|  |                      } else {
 |  |                      } else {
 | 
												
											
												
													
														
															|  | @@ -896,8 +939,7 @@ function sortData(sourceData, sortCfg, prjData) {
 | 
												
													
														
															|  |                      }
 |  |                      }
 | 
												
													
														
															|  |                  }
 |  |                  }
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  | -            delete sourceData.data;
 |  | 
 | 
												
													
														
															|  | -            sourceData.data = tempRstArr;
 |  | 
 | 
												
													
														
															|  | 
 |  | +            replaceActDataArr(sourceData, tempRstArr);
 | 
												
													
														
															|  |              break;
 |  |              break;
 | 
												
													
														
															|  |          case "self_define":
 |  |          case "self_define":
 | 
												
													
														
															|  |              if (sortCfg[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC]) {
 |  |              if (sortCfg[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC]) {
 | 
												
											
												
													
														
															|  | @@ -905,8 +947,7 @@ function sortData(sourceData, sortCfg, prjData) {
 | 
												
													
														
															|  |                  eval('selfDefFunc = ' + sortCfg[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC]);
 |  |                  eval('selfDefFunc = ' + sortCfg[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC]);
 | 
												
													
														
															|  |                  tempRstArr.sort(selfDefFunc);
 |  |                  tempRstArr.sort(selfDefFunc);
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  | -            delete sourceData.data;
 |  | 
 | 
												
													
														
															|  | -            sourceData.data = tempRstArr;
 |  | 
 | 
												
													
														
															|  | 
 |  | +            replaceActDataArr(sourceData, tempRstArr);
 | 
												
													
														
															|  |              break;
 |  |              break;
 | 
												
													
														
															|  |          default:
 |  |          default:
 | 
												
													
														
															|  |              //
 |  |              //
 | 
												
											
												
													
														
															|  | @@ -1010,9 +1051,10 @@ function ext_getPropety(propKey) {
 | 
												
													
														
															|  |      let rst = [], parentObj = this;
 |  |      let rst = [], parentObj = this;
 | 
												
													
														
															|  |      let dtObj = parentObj["myOwnRawDataObj"];
 |  |      let dtObj = parentObj["myOwnRawDataObj"];
 | 
												
													
														
															|  |      if (propKey && dtObj) {
 |  |      if (propKey && dtObj) {
 | 
												
													
														
															|  | -        for (let dItem of dtObj.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +        for (let dItem of getActDataArr(dtObj)) {
 | 
												
													
														
															|  |              let doc = (dItem._doc === null || dItem._doc === undefined)?dItem:dItem._doc;
 |  |              let doc = (dItem._doc === null || dItem._doc === undefined)?dItem:dItem._doc;
 | 
												
													
														
															|  |              if (propKey instanceof Array) {
 |  |              if (propKey instanceof Array) {
 | 
												
													
														
															|  | 
 |  | +                //备注:这里的key数组表示取value的优先级
 | 
												
													
														
															|  |                  for (let pi = 0; pi < propKey.length; pi++) {
 |  |                  for (let pi = 0; pi < propKey.length; pi++) {
 | 
												
													
														
															|  |                      if (doc.hasOwnProperty("property")) {
 |  |                      if (doc.hasOwnProperty("property")) {
 | 
												
													
														
															|  |                          if (doc["property"].hasOwnProperty(propKey[pi])) {
 |  |                          if (doc["property"].hasOwnProperty(propKey[pi])) {
 | 
												
											
												
													
														
															|  | @@ -1022,6 +1064,16 @@ function ext_getPropety(propKey) {
 | 
												
													
														
															|  |                      } else if (doc.hasOwnProperty(propKey[pi])) {
 |  |                      } else if (doc.hasOwnProperty(propKey[pi])) {
 | 
												
													
														
															|  |                          rst.push(doc[propKey[pi]]);
 |  |                          rst.push(doc[propKey[pi]]);
 | 
												
													
														
															|  |                          break;
 |  |                          break;
 | 
												
													
														
															|  | 
 |  | +                    } else {
 | 
												
													
														
															|  | 
 |  | +                        let lenBefore = rst.length;
 | 
												
													
														
															|  | 
 |  | +                        getDeepProperty(propKey[pi], doc, rst);
 | 
												
													
														
															|  | 
 |  | +                        if (rst.length === (lenBefore + 1)) {
 | 
												
													
														
															|  | 
 |  | +                            if (rst[lenBefore] !== null && rst[lenBefore] !== undefined && rst[lenBefore] !== "") {
 | 
												
													
														
															|  | 
 |  | +                                break;
 | 
												
													
														
															|  | 
 |  | +                            } else {
 | 
												
													
														
															|  | 
 |  | +                                rst.splice(-1, 1); //删除末尾一条数据,给后面留空间
 | 
												
													
														
															|  | 
 |  | +                            }
 | 
												
													
														
															|  | 
 |  | +                        }
 | 
												
													
														
															|  |                      }
 |  |                      }
 | 
												
													
														
															|  |                      if (pi === propKey.length - 1) rst.push('');
 |  |                      if (pi === propKey.length - 1) rst.push('');
 | 
												
													
														
															|  |                  }
 |  |                  }
 | 
												
											
												
													
														
															|  | @@ -1031,7 +1083,8 @@ function ext_getPropety(propKey) {
 | 
												
													
														
															|  |                  } else if (doc.hasOwnProperty(propKey)) {
 |  |                  } else if (doc.hasOwnProperty(propKey)) {
 | 
												
													
														
															|  |                      rst.push(doc[propKey]);
 |  |                      rst.push(doc[propKey]);
 | 
												
													
														
															|  |                  } else {
 |  |                  } else {
 | 
												
													
														
															|  | -                    rst.push('');
 |  | 
 | 
												
													
														
															|  | 
 |  | +                    // rst.push('');
 | 
												
													
														
															|  | 
 |  | +                    getDeepProperty(propKey, doc, rst);
 | 
												
													
														
															|  |                  }
 |  |                  }
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  |          }
 |  |          }
 | 
												
											
												
													
														
															|  | @@ -1044,7 +1097,7 @@ function ext_getPropertyByRefId(baseKey, refIDKey, propertyKey){
 | 
												
													
														
															|  |      let dtObj = parentObj["myOwnRawDataObj"];
 |  |      let dtObj = parentObj["myOwnRawDataObj"];
 | 
												
													
														
															|  |      let orgDtObj = parentObj["myOwnOrgRawDataObj"];
 |  |      let orgDtObj = parentObj["myOwnOrgRawDataObj"];
 | 
												
													
														
															|  |      if (baseKey && refIDKey && propertyKey && dtObj) {
 |  |      if (baseKey && refIDKey && propertyKey && dtObj) {
 | 
												
													
														
															|  | -        for (let dItem of dtObj.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +        for (let dItem of getActDataArr(dtObj)) {
 | 
												
													
														
															|  |              let doc = (dItem._doc === null || dItem._doc === undefined)?dItem:dItem._doc;
 |  |              let doc = (dItem._doc === null || dItem._doc === undefined)?dItem:dItem._doc;
 | 
												
													
														
															|  |              let tmpRst = doc[baseKey];
 |  |              let tmpRst = doc[baseKey];
 | 
												
													
														
															|  |              if (typeof tmpRst === "string" && tmpRst[0] === "@") {
 |  |              if (typeof tmpRst === "string" && tmpRst[0] === "@") {
 | 
												
											
												
													
														
															|  | @@ -1098,7 +1151,7 @@ function ext_getFee(feeKey, dtlFeeKey) {
 | 
												
													
														
															|  |      let rst = [], parentObj = this;
 |  |      let rst = [], parentObj = this;
 | 
												
													
														
															|  |      let dtObj = parentObj["myOwnRawDataObj"];
 |  |      let dtObj = parentObj["myOwnRawDataObj"];
 | 
												
													
														
															|  |      if (feeKey && dtObj) {
 |  |      if (feeKey && dtObj) {
 | 
												
													
														
															|  | -        for (let dItem of dtObj.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +        for (let dItem of getActDataArr(dtObj)) {
 | 
												
													
														
															|  |              rst.push(pri_getFee(dItem, feeKey, dtlFeeKey));
 |  |              rst.push(pri_getFee(dItem, feeKey, dtlFeeKey));
 | 
												
													
														
															|  |          }
 |  |          }
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
											
												
													
														
															|  | @@ -1209,7 +1262,7 @@ function ext_getArrayValues(itemKey) {
 | 
												
													
														
															|  |      let rst = [], parentObj = this;
 |  |      let rst = [], parentObj = this;
 | 
												
													
														
															|  |      let dtObj = parentObj["myOwnRawDataObj"];
 |  |      let dtObj = parentObj["myOwnRawDataObj"];
 | 
												
													
														
															|  |      let keysArr = itemKey.split(".");
 |  |      let keysArr = itemKey.split(".");
 | 
												
													
														
															|  | -    for (let dataItem of dtObj.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +    for (let dataItem of getActDataArr(dtObj)) {
 | 
												
													
														
															|  |          let itemArr = [];
 |  |          let itemArr = [];
 | 
												
													
														
															|  |          if (keysArr.length <= 2) {
 |  |          if (keysArr.length <= 2) {
 | 
												
													
														
															|  |              if (dataItem[keysArr[0]] instanceof Array) {
 |  |              if (dataItem[keysArr[0]] instanceof Array) {
 | 
												
											
												
													
														
															|  | @@ -1269,7 +1322,8 @@ function ext_getBlank(dftVal) {
 | 
												
													
														
															|  |      let rst = [], parentObj = this;
 |  |      let rst = [], parentObj = this;
 | 
												
													
														
															|  |      let dtObj = parentObj["myOwnRawDataObj"];
 |  |      let dtObj = parentObj["myOwnRawDataObj"];
 | 
												
													
														
															|  |      if (dtObj) {
 |  |      if (dtObj) {
 | 
												
													
														
															|  | -        for (let i = 0; i < dtObj.data.length; i++) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +        let dtData = getActDataArr(dtObj);
 | 
												
													
														
															|  | 
 |  | +        for (let i = 0; i < dtData.length; i++) {
 | 
												
													
														
															|  |              if (dftVal !== null && dftVal !== undefined) {
 |  |              if (dftVal !== null && dftVal !== undefined) {
 | 
												
													
														
															|  |                  rst.push(dftVal)
 |  |                  rst.push(dftVal)
 | 
												
													
														
															|  |              } else rst.push('');
 |  |              } else rst.push('');
 | 
												
											
												
													
														
															|  | @@ -1283,7 +1337,7 @@ function ext_getPropertyByFlag(flagVal, rstKey, dftValIfEmpty) {
 | 
												
													
														
															|  |      let dtObj = parentObj["myOwnRawDataObj"];
 |  |      let dtObj = parentObj["myOwnRawDataObj"];
 | 
												
													
														
															|  |      if (flagVal && rstKey && dtObj) {
 |  |      if (flagVal && rstKey && dtObj) {
 | 
												
													
														
															|  |          let isArr = (flagVal instanceof Array);
 |  |          let isArr = (flagVal instanceof Array);
 | 
												
													
														
															|  | -        for (let dItem of dtObj.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +        for (let dItem of getActDataArr(dtObj)) {
 | 
												
													
														
															|  |              let doc = (dItem._doc)?dItem._doc:dItem;
 |  |              let doc = (dItem._doc)?dItem._doc:dItem;
 | 
												
													
														
															|  |              if (doc.hasOwnProperty("flags")) {
 |  |              if (doc.hasOwnProperty("flags")) {
 | 
												
													
														
															|  |                  let bFlag = false;
 |  |                  let bFlag = false;
 | 
												
											
												
													
														
															|  | @@ -1325,8 +1379,7 @@ function ext_getPropertyByForeignId(foreignIdVal, adHocIdKey, propKey, dftValIfN
 | 
												
													
														
															|  |          if (foreignIdVal instanceof Array) {
 |  |          if (foreignIdVal instanceof Array) {
 | 
												
													
														
															|  |              for (let idVal of foreignIdVal) {
 |  |              for (let idVal of foreignIdVal) {
 | 
												
													
														
															|  |                  isFound = false;
 |  |                  isFound = false;
 | 
												
													
														
															|  | -                let dataArr = dtObj.data;
 |  | 
 | 
												
													
														
															|  | -                if (dtObj.moduleName === "projectGLJ") dataArr = dtObj.data.gljList;
 |  | 
 | 
												
													
														
															|  | 
 |  | +                let dataArr = getActDataArr(dtObj);
 | 
												
													
														
															|  |                  for (let i = 0; i < dataArr.length; i++) {
 |  |                  for (let i = 0; i < dataArr.length; i++) {
 | 
												
													
														
															|  |                      let item = (dataArr[i]._doc)?dataArr[i]._doc:dataArr[i];
 |  |                      let item = (dataArr[i]._doc)?dataArr[i]._doc:dataArr[i];
 | 
												
													
														
															|  |                      if (item[IdKey] === idVal) {
 |  |                      if (item[IdKey] === idVal) {
 | 
												
											
												
													
														
															|  | @@ -1357,7 +1410,7 @@ function ext_getPropertyByForeignId(foreignIdVal, adHocIdKey, propKey, dftValIfN
 | 
												
													
														
															|  |                  }
 |  |                  }
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  |          } else {
 |  |          } else {
 | 
												
													
														
															|  | -            for (let item of dtObj.data) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +            for (let item of getActDataArr(dtObj)) {
 | 
												
													
														
															|  |                  if (item[IdKey] === foreignIdVal) {
 |  |                  if (item[IdKey] === foreignIdVal) {
 | 
												
													
														
															|  |                      rst.push(item[propKey]);
 |  |                      rst.push(item[propKey]);
 | 
												
													
														
															|  |                      isFound = true;
 |  |                      isFound = true;
 | 
												
											
												
													
														
															|  | @@ -1372,4 +1425,25 @@ function ext_getPropertyByForeignId(foreignIdVal, adHocIdKey, propKey, dftValIfN
 | 
												
													
														
															|  |      return rst;
 |  |      return rst;
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | 
 |  | +function getActDataArr(dtObj) {
 | 
												
													
														
															|  | 
 |  | +    let rst = null;
 | 
												
													
														
															|  | 
 |  | +    if (dtObj) {
 | 
												
													
														
															|  | 
 |  | +        rst = dtObj.data;
 | 
												
													
														
															|  | 
 |  | +        if (dtObj.moduleName === "projectGLJ") {
 | 
												
													
														
															|  | 
 |  | +            rst = dtObj.data.gljList;
 | 
												
													
														
															|  | 
 |  | +        }
 | 
												
													
														
															|  | 
 |  | +    }
 | 
												
													
														
															|  | 
 |  | +    return rst;
 | 
												
													
														
															|  | 
 |  | +}
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +function replaceActDataArr(dtObj, newArr) {
 | 
												
													
														
															|  | 
 |  | +    if (dtObj.moduleName === "projectGLJ") {
 | 
												
													
														
															|  | 
 |  | +        delete dtObj.data.gljList;
 | 
												
													
														
															|  | 
 |  | +        dtObj.data.gljList = newArr;
 | 
												
													
														
															|  | 
 |  | +    } else {
 | 
												
													
														
															|  | 
 |  | +        delete dtObj.data;
 | 
												
													
														
															|  | 
 |  | +        dtObj.data = newArr;
 | 
												
													
														
															|  | 
 |  | +    }
 | 
												
													
														
															|  | 
 |  | +}
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  |  export default Rpt_Data_Extractor;
 |  |  export default Rpt_Data_Extractor;
 |