|
@@ -11,6 +11,7 @@ const fs = require('fs');
|
|
|
const fsUtil = require('../../public/js/fsUtil');
|
|
|
const stringUtil = require('../../public/js/stringUtil');
|
|
|
const scMathUtil = require('../../public/js/scMathUtil');
|
|
|
+const data_analyze_util = require('../../lib/rpt_data_analysis');
|
|
|
const _ = require('lodash');
|
|
|
|
|
|
const treeUtil = require('../public/treeUtil');
|
|
@@ -189,7 +190,7 @@ class Rpt_Data_Extractor {
|
|
|
}
|
|
|
|
|
|
// 装配数据(把收集到的数据,依据报表模板的指示,预处理(如:排序、过滤、合计)及装配到相关指标)
|
|
|
- assembleData(rawDataObj, baseDir) {
|
|
|
+ assembleData(ctx, rawDataObj, baseDir) {
|
|
|
const $PROJECT = { REPORT: {} };
|
|
|
const tpl = this.rptTpl;
|
|
|
this.COMMON.initialize(tpl, rawDataObj);
|
|
@@ -203,13 +204,13 @@ class Rpt_Data_Extractor {
|
|
|
const srcData = getModuleDataByKey(rawDataObj.prjData, preHandle[JV.PROP_DATA_KEY]);
|
|
|
switch (preHandle[JV.PROP_HANDLE_TYPE]) {
|
|
|
case JV.PROP_HANDLE_TYPE_SORT:
|
|
|
- sortData(srcData, preHandle, rawDataObj.prjData);
|
|
|
+ // sortData(srcData, preHandle, rawDataObj.prjData);
|
|
|
break;
|
|
|
case JV.PROP_HANDLE_TYPE_FILTER:
|
|
|
- filterData(srcData, preHandle, rawDataObj.prjData);
|
|
|
+ // filterData(srcData, preHandle, rawDataObj.prjData);
|
|
|
break;
|
|
|
- case JV.PROP_HANDLE_TYPE_ADJUST:
|
|
|
- adjustData(srcData, preHandle);
|
|
|
+ case JV.PROP_HANDLE_TYPE_PRE_DEFINED:
|
|
|
+ preDefineProcess(ctx, preHandle, rawDataObj);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
@@ -483,6 +484,24 @@ function filterData(sourceData, handleCfg, prjData) {
|
|
|
// fsUtil.writeObjToFile(sourceData.data, 'D:/GitHome/ConstructionCost/tmp/filteredRst.jsp');
|
|
|
}
|
|
|
|
|
|
+function preDefineProcess(ctx, preDefineCfg, rawDataObj) {
|
|
|
+ switch (preDefineCfg[JV.PROP_HANDLE_TYPE_PRE_DEFINED_KEY]) {
|
|
|
+ case 'changeSort' :
|
|
|
+ // [{field: 'b_code', table: 'mem_stage_bills'}, {field: 'id', table: 'mem_stage_bills'}]
|
|
|
+ try {
|
|
|
+ // 在预定义方式中,小麦处理原始数据,不需要
|
|
|
+ data_analyze_util.changeSort.fun(ctx, rawDataObj);
|
|
|
+ } catch (ex) {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case '' :
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
function adjustData(sourceData, adjustCfg) {
|
|
|
const rstArr = [];
|
|
|
for (const item of getActDataArr(sourceData)) {
|