reportController.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. * Created by Tony on 2016/12/24.
  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 cacheController = require('./cacheController');
  9. //统一回调函数
  10. var callback = function(req, res, err, data){
  11. if(err){
  12. //res.send({success: false, error: err});
  13. res.json({success: false, error: err});
  14. }
  15. else{
  16. //res.send({success: true, data: data});
  17. res.json({success:true, data: data});
  18. }
  19. }
  20. module.exports = {
  21. getReportAllPages: function(req, res){
  22. var grp_id = req.body.grp_id;
  23. var tpl_id = req.body.tpl_id;
  24. var pageSize = req.body.pageSize;
  25. Template.get(grp_id, tpl_id, function(err, rptTpl){
  26. if (rptTpl) {
  27. TemplateData.get(tpl_id, function(err, tplData){
  28. if (tplData) {
  29. var printCom = JpcEx.createNew();
  30. rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = pageSize;
  31. var dftControls = cacheController.getCache("common_ctrls");
  32. var dftFonts = cacheController.getCache("common_fonts");
  33. var dftStyles = cacheController.getCache("common_styles");
  34. var defProperties = {ctrls: dftControls, fonts: dftFonts, styles: dftStyles};
  35. printCom.initialize(rptTpl);
  36. printCom.analyzeData(rptTpl, tplData, defProperties);
  37. var maxPages = printCom.totalPages;
  38. var pageRst = printCom.outputAsSimpleJSONPageArray(rptTpl, tplData, 1, maxPages, defProperties);
  39. if (pageRst) {
  40. callback(req, res, err, pageRst);
  41. } else {
  42. callback(req, res, "Have errors while on going...", null);
  43. }
  44. //callback(req, res, err, tplData);
  45. } else {
  46. callback(req, res, err, null);
  47. }
  48. })
  49. } else {
  50. callback(req, res, err, null);
  51. }
  52. });
  53. },
  54. getReportByPage: function(req, res){
  55. },
  56. getDefaultControls: function(req, res){
  57. },
  58. getDefaultFonts: function(req, res){
  59. },
  60. getDefaultStyles: function(req, res){
  61. },
  62. remove: function(req, res){
  63. }
  64. }