|
@@ -45,44 +45,6 @@ const WATERMARK_FONT = {
|
|
|
"FontAngle": "45"
|
|
|
};
|
|
|
|
|
|
-function getAllPagesCommonOrg(rpt_id, pageSize, option, cb) {
|
|
|
- let rptTpl = null;
|
|
|
- rptTplFacade.getRptTemplate(rpt_id).then(function(rst) {
|
|
|
- rptTpl = rst;
|
|
|
- if (rptTpl) {
|
|
|
- if (rptTpl.ID_KEY) {
|
|
|
- return demoTemplateFacade.getDemoData(rptTpl.ID_KEY);
|
|
|
- } else {
|
|
|
- //callback(req, res, 'No report template data were found!', null);
|
|
|
- cb('No report template data were found!', null);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //callback(req, res, 'No report template was found!', null);
|
|
|
- cb('No report template was found!', null);
|
|
|
- }
|
|
|
- }).then(function(tplData){
|
|
|
- if (tplData) {
|
|
|
- let printCom = JpcEx.createNew();
|
|
|
- rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = pageSize;
|
|
|
- let defProperties = rptUtil.getReportDefaultCache();
|
|
|
- let dftOption = option||JV.PAGING_OPTION_NORMAL;
|
|
|
- printCom.initialize(rptTpl);
|
|
|
- printCom.analyzeData(rptTpl, tplData, defProperties, dftOption, JV.OUTPUT_TYPE_NORMAL);
|
|
|
- let maxPages = printCom.totalPages;
|
|
|
- let pageRst = printCom.outputAsSimpleJSONPageArray(rptTpl, tplData, 1, maxPages, defProperties);
|
|
|
- if (pageRst) {
|
|
|
- cb(null, pageRst);
|
|
|
- } else {
|
|
|
- //callback(req, res, "Have errors while on going...", null);
|
|
|
- cb('Have errors while on going...', null);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //callback(req, res, 'No report data were found!', null);
|
|
|
- cb('No report data were found!', null);
|
|
|
- }
|
|
|
- }
|
|
|
- );
|
|
|
-}
|
|
|
function setupCustomizeCfg(customizeCfg, rptTpl, defProperties) {
|
|
|
let tmpObj = {};
|
|
|
//1. 字体
|
|
@@ -234,7 +196,7 @@ function setupCustomizeCfg(customizeCfg, rptTpl, defProperties) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, option, outputType, cb) {
|
|
|
+function getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, option, outputType, flag, cb) {
|
|
|
let rptTpl = null;
|
|
|
rptTplFacade.getRptTemplate(rpt_id).then(function(rst) {
|
|
|
rptTpl = rst;
|
|
@@ -388,13 +350,14 @@ module.exports = {
|
|
|
let params = JSON.parse(req.body.params),
|
|
|
rpt_id = params.rpt_tpl_id,
|
|
|
prj_id = params.prj_id,
|
|
|
+ flag = params.flag;
|
|
|
pageSize = params.pageSize,
|
|
|
orientation = params.orientation,
|
|
|
customizeCfg = params.custCfg
|
|
|
;
|
|
|
// req.session.sessionUser.ssoId
|
|
|
let user_id = req.session.sessionUser.id;
|
|
|
- getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, null, JV.OUTPUT_TYPE_NORMAL, function (err, pageRst) {
|
|
|
+ getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, null, JV.OUTPUT_TYPE_NORMAL, flag, function (err, pageRst) {
|
|
|
try {
|
|
|
let userModel = new UserModel();
|
|
|
// console.log('req.session.sessionUser.ssoId: ' + req.session.sessionUser.ssoId);
|
|
@@ -417,6 +380,7 @@ module.exports = {
|
|
|
let params = JSON.parse(req.body.params),
|
|
|
prj_id = params.prj_id,
|
|
|
rpt_ids = params.rpt_ids.split(','),
|
|
|
+ flags = params.flags;
|
|
|
pageSize = params.pageSize,
|
|
|
orientation = params.orientation,
|
|
|
customizeCfg = params.custCfg,
|
|
@@ -424,10 +388,11 @@ module.exports = {
|
|
|
let user_id = req.session.sessionUser.id;
|
|
|
let parallelFunctions = [];
|
|
|
let dftOption = option||JV.PAGING_OPTION_NORMAL;
|
|
|
- for (let id of rpt_ids) {
|
|
|
- parallelFunctions.push((function (rpt_id) {
|
|
|
+ for (let idx = 0; idx < rpt_ids; idx++) {
|
|
|
+ let id = rpt_ids[idx], flag = flags[idx];
|
|
|
+ parallelFunctions.push((function (rpt_id, flag) {
|
|
|
return function (cb) {
|
|
|
- getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, dftOption, JV.OUTPUT_TYPE_NORMAL, function (err, pageRst) {
|
|
|
+ getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, dftOption, JV.OUTPUT_TYPE_NORMAL, flag, function (err, pageRst) {
|
|
|
if(err){
|
|
|
cb(err);
|
|
|
}
|
|
@@ -436,7 +401,7 @@ module.exports = {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
- })(parseInt(id)));
|
|
|
+ })(parseInt(id, flag)));
|
|
|
}
|
|
|
async.parallel(parallelFunctions, function (err, pageRstArray) {
|
|
|
if (err) {
|
|
@@ -462,13 +427,14 @@ module.exports = {
|
|
|
getReportAllPagesSvg: function (req, res) {
|
|
|
let params = JSON.parse(req.body.params),
|
|
|
rpt_id = params.rpt_tpl_id,
|
|
|
+ flag = params.flag;
|
|
|
prj_id = params.prj_id,
|
|
|
pageSize = params.pageSize,
|
|
|
orientation = params.orientation,
|
|
|
customizeCfg = params.custCfg
|
|
|
;
|
|
|
let user_id = req.session.sessionUser.id;
|
|
|
- getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, null, JV.OUTPUT_TYPE_SVG, function (err, pageRst) {
|
|
|
+ getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, null, JV.OUTPUT_TYPE_SVG, flag, function (err, pageRst) {
|
|
|
let svgRstStrArr = rpt_svg_util.exportSvgStr(pageRst, 0, 0);
|
|
|
callback(req, res, err, svgRstStrArr);
|
|
|
});
|
|
@@ -478,6 +444,7 @@ module.exports = {
|
|
|
let params = JSON.parse(req.body.params),
|
|
|
prj_id = params.prj_id,
|
|
|
rpt_ids = params.rpt_ids,
|
|
|
+ flags = params.flags;
|
|
|
rptName = params.rptName,
|
|
|
pageSize = params.pageSize,
|
|
|
orientation = params.orientation,
|
|
@@ -487,10 +454,10 @@ module.exports = {
|
|
|
let parallelFunctions = [];
|
|
|
let dftOption = option||JV.PAGING_OPTION_NORMAL;
|
|
|
for (let idx = 0; idx < rpt_ids.length; idx++) {
|
|
|
- let r_id = rpt_ids[idx];
|
|
|
+ let r_id = rpt_ids[idx], flag = flags[idx];
|
|
|
parallelFunctions.push((function (rpt_id) {
|
|
|
return function (cb) {
|
|
|
- getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, dftOption, JV.OUTPUT_TYPE_EXCEL, function (err, pageRst) {
|
|
|
+ getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, dftOption, JV.OUTPUT_TYPE_EXCEL, flag, function (err, pageRst) {
|
|
|
if(err){
|
|
|
cb(err);
|
|
|
}
|
|
@@ -517,6 +484,7 @@ module.exports = {
|
|
|
let params = JSON.parse(req.body.params),
|
|
|
prj_id = params.prj_id,
|
|
|
rpt_ids = params.rpt_ids,
|
|
|
+ flags = params.flags;
|
|
|
rpt_names = params.rpt_names,
|
|
|
pageSize = params.pageSize,
|
|
|
orientation = params.orientation,
|
|
@@ -527,11 +495,11 @@ module.exports = {
|
|
|
let parallelFunctions = [];
|
|
|
let dftOption = option||JV.PAGING_OPTION_NORMAL;
|
|
|
for (let idx = 0; idx < rpt_ids.length; idx++) {
|
|
|
- let r_id = rpt_ids[idx];
|
|
|
+ let r_id = rpt_ids[idx], flag = flags[idx];
|
|
|
let r_name = rpt_names[idx];
|
|
|
parallelFunctions.push((function (rpt_id, rpt_name) {
|
|
|
return function (cb) {
|
|
|
- getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, dftOption, JV.OUTPUT_TYPE_EXCEL, function (err, pageRst) {
|
|
|
+ getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, dftOption, JV.OUTPUT_TYPE_EXCEL, flag, function (err, pageRst) {
|
|
|
if(err){
|
|
|
cb(err);
|
|
|
} else {
|
|
@@ -577,6 +545,7 @@ module.exports = {
|
|
|
getExcel: function(req, res) {
|
|
|
let prj_id = req.params.prj_id,
|
|
|
rpt_id = req.params.rpt_id,
|
|
|
+ flag = req.params.flag,
|
|
|
pageSize = req.params.size,
|
|
|
orientation = req.params.orientation,
|
|
|
rptName = req.params.rptName,
|
|
@@ -586,7 +555,7 @@ module.exports = {
|
|
|
let customizeCfg = null;
|
|
|
let user_id = req.session.sessionUser.id;
|
|
|
let dftOption = option||JV.PAGING_OPTION_NORMAL;
|
|
|
- getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, dftOption, JV.OUTPUT_TYPE_EXCEL, function(err, pageRst){
|
|
|
+ getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, dftOption, JV.OUTPUT_TYPE_EXCEL, flag, function(err, pageRst){
|
|
|
try {
|
|
|
rpt_xl_util.exportExcel(pageRst, pageSize, rptName, isOneSheet, null, null, function(uuidName){
|
|
|
res.setHeader('Content-Type', 'application/vnd.openxmlformats');
|
|
@@ -608,16 +577,18 @@ module.exports = {
|
|
|
getExcelInOneBook: function (req, res) {
|
|
|
let prj_id = req.params.prj_id,
|
|
|
rpt_ids = req.params.rpt_ids.split(','),
|
|
|
+ flags = req.params.flags;
|
|
|
pageSize = req.params.size,
|
|
|
rptName = req.params.rptName,
|
|
|
option = req.params.option;
|
|
|
let user_id = req.session.sessionUser.id;
|
|
|
let parallelFunctions = [];
|
|
|
let dftOption = option||JV.PAGING_OPTION_NORMAL;
|
|
|
- for (let id of rpt_ids) {
|
|
|
- parallelFunctions.push((function (rpt_id) {
|
|
|
+ for (let idx = 0; idx < rpt_ids.length; idx++) {
|
|
|
+ let id = rpt_ids[idx], flag = flags[idx];
|
|
|
+ parallelFunctions.push((function (rpt_id, flag) {
|
|
|
return function (cb) {
|
|
|
- getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, null, null, dftOption, JV.OUTPUT_TYPE_EXCEL, function (err, pageRst) {
|
|
|
+ getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, null, null, dftOption, JV.OUTPUT_TYPE_EXCEL, flag, function (err, pageRst) {
|
|
|
if(err){
|
|
|
cb(err);
|
|
|
}
|
|
@@ -626,7 +597,7 @@ module.exports = {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
- })(parseInt(id)));
|
|
|
+ })(parseInt(id, flag)));
|
|
|
}
|
|
|
async.parallel(parallelFunctions, function (err, pageRstArray) {
|
|
|
if (err) {
|
|
@@ -651,6 +622,7 @@ module.exports = {
|
|
|
let params = JSON.parse(req.body.params),
|
|
|
prj_id = params.prj_id,
|
|
|
rpt_ids = params.rpt_ids,
|
|
|
+ flags = params.flags,
|
|
|
rpt_names = params.rpt_names,
|
|
|
pageSize = params.pageSize,
|
|
|
orientation = params.orientation,
|
|
@@ -660,11 +632,11 @@ module.exports = {
|
|
|
let parallelFunctions = [];
|
|
|
let dftOption = option||JV.PAGING_OPTION_NORMAL;
|
|
|
for (let idx = 0; idx < rpt_ids.length; idx++) {
|
|
|
- let r_id = rpt_ids[idx];
|
|
|
+ let r_id = rpt_ids[idx], flag = flags[idx];
|
|
|
let r_name = rpt_names[idx];
|
|
|
parallelFunctions.push((function (rpt_id, rpt_name) {
|
|
|
return function (cb) {
|
|
|
- getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, dftOption, JV.OUTPUT_TYPE_PDF, function (err, pageRst) {
|
|
|
+ getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, customizeCfg, dftOption, JV.OUTPUT_TYPE_PDF, flag, function (err, pageRst) {
|
|
|
if(err){
|
|
|
cb(err);
|
|
|
}
|
|
@@ -690,12 +662,13 @@ module.exports = {
|
|
|
getPDF:function (req, res) {
|
|
|
let prj_id = req.params.prj_id,
|
|
|
rpt_id = req.params.rpt_id,
|
|
|
+ flag = req.params.flag;
|
|
|
pageSize = req.params.size,
|
|
|
orientation = req.params.orientation,
|
|
|
rptName = req.params.rptName
|
|
|
;
|
|
|
let user_id = req.session.sessionUser.id;
|
|
|
- getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, null, JV.PAGING_OPTION_NORMAL, JV.OUTPUT_TYPE_PDF, function(err, pageRst){
|
|
|
+ getAllPagesCommon(user_id, prj_id, rpt_id, pageSize, orientation, null, JV.PAGING_OPTION_NORMAL, JV.OUTPUT_TYPE_PDF, flag, function(err, pageRst){
|
|
|
rpt_pdf_util.export_pdf_file(pageRst, pageSize, rptName,function (uuidName) {
|
|
|
res.setHeader('Content-Type', 'application/vnd.openxmlformats');
|
|
|
// res.setHeader("Content-Disposition", "attachment; filename=" + strUtil.getPinYinCamelChars(rptName) + ".pdf");
|