rpt_controller.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /**
  2. * Created by Tony on 2017/3/13.
  3. */
  4. var JV = require('../rpt_component/Jpc_ValueDefine');
  5. var Template = require('../models/rpt_template');
  6. var TemplateData = require('../models/rpt_temp_data');
  7. var JpcEx = require('../rpt_component/JpcEx');
  8. //var cache = require('../../../public/cache/cacheUtil');
  9. var rptUtil = require("../util/rpt_util");
  10. //统一回调函数
  11. var callback = function(req, res, err, data){
  12. if(err){
  13. //res.send({success: false, error: err});
  14. res.json({success: false, error: err});
  15. }
  16. else{
  17. //res.send({success: true, data: data});
  18. res.json({success:true, data: data});
  19. }
  20. };
  21. module.exports = {
  22. getReportAllPages: function(req, res){
  23. var grp_id = req.body.grp_id;
  24. var tpl_id = req.body.tpl_id;
  25. var pageSize = req.body.pageSize;
  26. Template.get(grp_id, tpl_id, function(err, rptTpl){
  27. if (rptTpl) {
  28. TemplateData.get(tpl_id, function(err, tplData){
  29. if (tplData) {
  30. var printCom = JpcEx.createNew();
  31. rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = pageSize;
  32. var defProperties = rptUtil.getReportDefaultCache();
  33. printCom.initialize(rptTpl);
  34. printCom.analyzeData(rptTpl, tplData, defProperties);
  35. var maxPages = printCom.totalPages;
  36. var pageRst = printCom.outputAsSimpleJSONPageArray(rptTpl, tplData, 1, maxPages, defProperties);
  37. if (pageRst) {
  38. callback(req, res, err, pageRst);
  39. } else {
  40. callback(req, res, "Have errors while on going...", null);
  41. }
  42. //callback(req, res, err, tplData);
  43. } else {
  44. callback(req, res, err, null);
  45. }
  46. })
  47. } else {
  48. callback(req, res, err, null);
  49. }
  50. });
  51. },
  52. remove: function(req, res){
  53. }
  54. };