|
@@ -394,16 +394,17 @@ module.exports = {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- getExcelByUUID: function (req, res) {
|
|
|
+ getFileByUUID: function (req, res) {
|
|
|
let uuid = req.params.uuid,
|
|
|
- rptName = req.params.rptName
|
|
|
+ rptName = req.params.rptName,
|
|
|
+ suffix = "." + req.params.suffix
|
|
|
;
|
|
|
// let user_id = req.session.sessionUser.id; //未来要校验user id
|
|
|
try {
|
|
|
res.setHeader('Content-Type', 'application/vnd.openxmlformats');
|
|
|
let rptNameURI = encodeURI(rptName);
|
|
|
- res.setHeader("Content-Disposition", "attachment; filename=\"" + rptNameURI + ".xlsx\"; filename*=utf-8''" + rptNameURI + '.xlsx' );
|
|
|
- let filestream = fs.createReadStream(__dirname.slice(0, __dirname.length - 28) + '/tmp/' + uuid + '.xlsx');
|
|
|
+ res.setHeader("Content-Disposition", "attachment; filename=\"" + rptNameURI + suffix + "\"; filename*=utf-8''" + rptNameURI + suffix );
|
|
|
+ let filestream = fs.createReadStream(__dirname.slice(0, __dirname.length - 28) + '/tmp/' + uuid + suffix);
|
|
|
filestream.on('data', function(chunk) {
|
|
|
res.write(chunk);
|
|
|
});
|
|
@@ -487,6 +488,46 @@ module.exports = {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ createPdfFiles: function (req, res) {
|
|
|
+ let params = JSON.parse(req.body.params),
|
|
|
+ prj_id = params.prj_id,
|
|
|
+ rpt_ids = params.rpt_ids,
|
|
|
+ rpt_names = params.rpt_names,
|
|
|
+ pageSize = params.pageSize,
|
|
|
+ orientation = params.orientation,
|
|
|
+ customizeCfg = params.custCfg,
|
|
|
+ option = params.option;
|
|
|
+ let user_id = req.session.sessionUser.id;
|
|
|
+ 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_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, function (err, pageRst) {
|
|
|
+ if(err){
|
|
|
+ cb(err);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ rpt_pdf_util.export_pdf_file(pageRst, pageSize, rpt_name, function(uuidName){
|
|
|
+ let fileRst = {uuid: uuidName, reportName: rpt_name};
|
|
|
+ cb(err, fileRst);
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })(parseInt(r_id), r_name));
|
|
|
+ }
|
|
|
+ async.parallel(parallelFunctions, function (err, fileRstArray) {
|
|
|
+ if (err) {
|
|
|
+ callback(req, res, '数据有误', null);
|
|
|
+ } else {
|
|
|
+ // console.log(err);
|
|
|
+ callback(req, res, err, fileRstArray);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
getPDF:function (req, res) {
|
|
|
let prj_id = req.params.prj_id,
|
|
|
rpt_id = req.params.rpt_id,
|
|
@@ -514,6 +555,7 @@ module.exports = {
|
|
|
})
|
|
|
|
|
|
},
|
|
|
+
|
|
|
getTestReportAllPages: function(req, res){
|
|
|
let rpt_id = req.body.ID;
|
|
|
let pageSize = req.body.pageSize;
|