|
|
@@ -360,19 +360,25 @@ function getMultiRptsCommon(user_id, prj_id, rpt_ids, pageSize, orientation, cus
|
|
|
let savedBillsData = [], savedRationData = [], savedGljData = [], savedPrjGljData = [], savedFeeRateData = [];
|
|
|
for (let dtlData of rawDataObj.prjData) {
|
|
|
if (dtlData.moduleName === 'bills') {
|
|
|
- Object.assign(savedBillsData, dtlData.data);
|
|
|
+ // Object.assign(savedBillsData, dtlData.data);
|
|
|
+ savedBillsData = JSON.stringify(dtlData.data);
|
|
|
} else if (dtlData.moduleName === 'ration') {
|
|
|
- Object.assign(savedRationData, dtlData.data);
|
|
|
+ // Object.assign(savedRationData, dtlData.data);
|
|
|
+ savedRationData = JSON.stringify(dtlData.data);
|
|
|
} else if (dtlData.moduleName === 'ration_glj') {
|
|
|
- Object.assign(savedGljData, dtlData.data);
|
|
|
+ // Object.assign(savedGljData, dtlData.data);
|
|
|
+ savedGljData = JSON.stringify(dtlData.data);
|
|
|
} else if (dtlData.moduleName === 'feeRate') {
|
|
|
Object.assign(savedFeeRateData, dtlData.data._doc.rates);
|
|
|
} else if (dtlData.moduleName === 'projectGLJ') {
|
|
|
- Object.assign(savedPrjGljData, dtlData.data.gljList);
|
|
|
+ // Object.assign(savedPrjGljData, dtlData.data.gljList);
|
|
|
+ savedPrjGljData = JSON.stringify(dtlData.data.gljList);
|
|
|
}
|
|
|
+ // 备注:经测试,feeRate目前只能用assign方式来保存,用JSON方式会报错
|
|
|
}
|
|
|
//2. 一个一个模板创建数据
|
|
|
for (let tplIdx = 0; tplIdx < rptTpls.length; tplIdx++) {
|
|
|
+ console.log('tplIdx: ' + tplIdx);
|
|
|
let rptTpl = (rptTpls[tplIdx]._doc)?rptTpls[tplIdx]._doc:rptTpls[tplIdx];
|
|
|
rptDataUtil.initialize(rptTpl);
|
|
|
let tplData = rptDataUtil.assembleData(rawDataObj);
|
|
|
@@ -398,22 +404,27 @@ function getMultiRptsCommon(user_id, prj_id, rpt_ids, pageSize, orientation, cus
|
|
|
//注意:这里需要把清单、定额、工料机数据assign回去!!!
|
|
|
for (let dtlData of rawDataObj.prjData) {
|
|
|
if (dtlData.moduleName === 'bills' && savedBillsData.length > 0) {
|
|
|
- Object.assign(dtlData.data, savedBillsData);
|
|
|
+ // Object.assign(dtlData.data, savedBillsData);
|
|
|
+ dtlData.data = JSON.parse(savedBillsData);
|
|
|
} else if (dtlData.moduleName === 'ration' && savedRationData.length > 0) {
|
|
|
- Object.assign(dtlData.data, savedRationData);
|
|
|
+ // Object.assign(dtlData.data, savedRationData);
|
|
|
+ dtlData.data = JSON.parse(savedRationData);
|
|
|
} else if (dtlData.moduleName === 'ration_glj' && savedGljData.length > 0) {
|
|
|
- Object.assign(dtlData.data, savedGljData);
|
|
|
+ // Object.assign(dtlData.data, savedGljData);
|
|
|
+ dtlData.data = JSON.parse(savedGljData);
|
|
|
} else if (dtlData.moduleName === 'feeRate' && savedFeeRateData.length > 0) {
|
|
|
Object.assign(dtlData.data._doc.rates, savedFeeRateData);
|
|
|
+ // 备注:经测试,feeRate目前只能用assign方式来回滚,用JSON方式会报错
|
|
|
} else if (dtlData.moduleName === 'projectGLJ' && savedPrjGljData.length > 0) {
|
|
|
- Object.assign(dtlData.data.gljList, savedPrjGljData);
|
|
|
+ // Object.assign(dtlData.data.gljList, savedPrjGljData);
|
|
|
+ dtlData.data.gljList = JSON.parse(savedPrjGljData);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
cb(null, rptPageRstArray);
|
|
|
} catch (ex) {
|
|
|
console.log("报表数据异常(getMultiRptsCommon): userId " + user_id + ", project id: " + prj_id);
|
|
|
- console.log(ex);
|
|
|
+ console.log(ex.toString());
|
|
|
cb('Exception occurs while on going...', null);
|
|
|
} finally {
|
|
|
}
|