|
@@ -7,7 +7,8 @@ let mongoose = require('mongoose');
|
|
|
let JV = require('../rpt_component/jpc_value_define');
|
|
|
|
|
|
let Template = mongoose.model('rpt_templates');
|
|
|
-let demoTemplateData = mongoose.model('rpt_temp_tpl_data');
|
|
|
+let rptTplFacade = require('../facade/rpt_template_facade');
|
|
|
+let demoTemplateFacade = require('../facade/rpt_tpl_data_demo_facade');
|
|
|
|
|
|
let JpcEx = require('../rpt_component/jpc_ex');
|
|
|
let rptUtil = require("../util/rpt_util");
|
|
@@ -26,14 +27,13 @@ let callback = function(req, res, err, data){
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-function getAllPagesCommon(req, res, rpt_id, pageSize, cb) {
|
|
|
+function getAllPagesCommonOrg(req, res, rpt_id, pageSize, cb) {
|
|
|
let rptTpl = null;
|
|
|
- Template.findOne({ID: rpt_id}, '-_id').exec().then(function(rst) {
|
|
|
+ rptTplFacade.getRptTemplate(rpt_id).then(function(rst) {
|
|
|
rptTpl = rst;
|
|
|
if (rptTpl) {
|
|
|
if (rptTpl.ID_KEY) {
|
|
|
- //return demoTemplateData.getPromise(rptTpl.ID_KEY);
|
|
|
- return demoTemplateData.findOne({"Data_Key": rptTpl.ID_KEY}).exec();
|
|
|
+ return demoTemplateFacade.getDemoData(rptTpl.ID_KEY);
|
|
|
} else {
|
|
|
callback(req, res, 'No report template data were found!', null);
|
|
|
}
|
|
@@ -61,11 +61,42 @@ function getAllPagesCommon(req, res, rpt_id, pageSize, cb) {
|
|
|
);
|
|
|
};
|
|
|
|
|
|
+function getAllPagesCommon(req, res, rpt_id, pageSize, cb) {
|
|
|
+ let rptTpl = null;
|
|
|
+ rptTplFacade.getRptTemplate(rpt_id).then(function(rst) {
|
|
|
+ rptTpl = rst;
|
|
|
+ if (rptTpl) {
|
|
|
+ let tplData = {};
|
|
|
+ if (rptTpl[JV.NODE_FIELD_MAP]) {
|
|
|
+ //1. 离散数据
|
|
|
+ if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS].leng > 0) {
|
|
|
+ tplData[JV.DATA_DISCRETE_DATA] = [];
|
|
|
+ }
|
|
|
+ //2. 主数据
|
|
|
+ if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS].leng > 0) {
|
|
|
+ tplData[JV.DATA_MASTER_DATA] = [];
|
|
|
+ }
|
|
|
+ //3. 从数据
|
|
|
+ if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS].leng > 0) {
|
|
|
+ tplData[JV.DATA_DETAIL_DATA] = [];
|
|
|
+ }
|
|
|
+ //return demoTemplateData.getPromise(rptTpl.ID_KEY);
|
|
|
+ //return demoTemplateData.findOne({"Data_Key": rptTpl.ID_KEY}).exec();
|
|
|
+
|
|
|
+ } else {
|
|
|
+ callback(req, res, 'No report template data were found!', null);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ callback(req, res, 'No report template was found!', null);
|
|
|
+ }
|
|
|
+ })
|
|
|
+};
|
|
|
+
|
|
|
module.exports = {
|
|
|
getReportAllPages: function(req, res){
|
|
|
let rpt_id = req.body.ID;
|
|
|
let pageSize = req.body.pageSize;
|
|
|
- getAllPagesCommon(req, res, rpt_id, pageSize, function(pageRst){
|
|
|
+ getAllPagesCommonOrg(req, res, rpt_id, pageSize, function(pageRst){
|
|
|
//fs.writeFileSync('D:/GitHome/ConstructionOperation/tmp/testRpt.js', JSON.stringify(pageRst));
|
|
|
callback(req, res, null, pageRst);
|
|
|
})
|
|
@@ -76,7 +107,7 @@ module.exports = {
|
|
|
rptName = req.params.rptName,
|
|
|
isOneSheet = req.params.isOneSheet;
|
|
|
;
|
|
|
- getAllPagesCommon(req, res, rpt_id, pageSize, function(pageRst){
|
|
|
+ getAllPagesCommonOrg(req, res, rpt_id, pageSize, function(pageRst){
|
|
|
rpt_xl_util.exportExcel(pageRst, pageSize, rptName, isOneSheet, function(newName){
|
|
|
res.setHeader('Content-Type', 'application/vnd.openxmlformats');
|
|
|
res.setHeader("Content-Disposition", "attachment; filename=" + strUtil.getPinYinCamelChars(rptName) + ".xlsx");
|