Explorar o código

report model/controller tuning

TonyKang %!s(int64=8) %!d(string=hai) anos
pai
achega
55e5bdbc78

+ 2 - 2
modules/reports/controllers/rpt_controller.js

@@ -29,7 +29,7 @@ module.exports = {
         let tpl_id = req.body.tpl_id;
         let pageSize = req.body.pageSize;
         let rptTpl = null;
-        Template.getPromise(grp_id, tpl_id).then(function(rst) {
+        Template.findOne({GROUP_KEY: grp_id, ID_KEY: tpl_id}, '-_id').exec().then(function(rst) {
             rptTpl = rst;
             if (rptTpl) {
                 return TemplateData.getPromise(tpl_id);
@@ -59,7 +59,7 @@ module.exports = {
     getExcel: function(req, res) {
         let grp_id = req.params.id, tpl_id = req.params.pm, pageSize = req.params.size, rptName = req.params.rptName;
         let rptTpl = null;
-        Template.getPromise(grp_id, tpl_id).then(function(rst) {
+        Template.findOne({GROUP_KEY: grp_id, ID_KEY: tpl_id}, '-_id').exec().then(function(rst) {
             rptTpl = rst;
             if (rptTpl) {
                 return TemplateData.getPromise(tpl_id);

+ 64 - 11
modules/reports/controllers/rpt_tpl_controller.js

@@ -2,7 +2,12 @@
  * Created by Tony on 2017/6/1.
  */
 
-let TplNode = require('../models/tpl_tree_node');
+let async = require("async");
+let counter = require('../../../public/counter/counter');
+
+//let TplNode = require('../models/tpl_tree_node');
+let TreeNodeModel = require('../models/tpl_tree_node');
+let rptTplDef = require("../../../public/rpt_tpl_def").getUtil();
 
 //统一回调函数
 let callback = function(req, res, err, message, data){
@@ -15,15 +20,32 @@ module.exports = {
             grpType = params.grpType,
             userId = params.userId,
             tplType = params.tplType;
-        TplNode.getTplTreeNodes(grpType, userId, tplType, function(err, data){
-            callback(req,res,err,"", data);
-        })
+        var filter = {"grpType": grpType, "$or": [{"isDeleted": null}, {"isDeleted": false} ]};
+        if (userId) {
+            filter.userId = userId;
+        }
+        if ((tplType && tplType !== rptTplDef.TplType.ALL)) {
+            filter.tplType = tplType;
+        }
+        TreeNodeModel.find(filter, '-_id', function(err, data){
+            if (err) {
+                callback(req,res, true,"", null);
+            } else callback(req,res,false,"", data);
+        });
     },
     updateTreeNodes: function(req, res) {
         let params = JSON.parse(req.body.params),
             nodes = params.nodes;
-        TplNode.updateTreeNodes(nodes, function(err,results){
-            callback(req,res, err, "", results)
+        var functions = [];
+        for (let node of nodes) {
+            functions.push((function(doc) {
+                return function(cb) {
+                    TreeNodeModel.update({ID: doc.ID}, doc, cb);
+                };
+            })(node));
+        }
+        async.parallel(functions, function(err, results) {
+            callback(req,res, err, "", results);
         });
     },
     deleteTptTplNodes: function(req, res){
@@ -31,16 +53,47 @@ module.exports = {
             nodeIds = params.nodeIds,
             preNodeId = params.preNodeId,
             preNodeNextId = params.preNodeNextId;
-        TplNode.removeNodes(nodeIds, preNodeId, preNodeNextId, function(err,results){
-            callback(req,res, err, "", results)
+        var functions = [];
+        if (preNodeId != -1) {
+            functions.push((function(nodeId, nextId) {
+                return function(cb) {
+                    TreeNodeModel.update({ID: nodeId}, {"NextSiblingID": nextId}, cb);
+                };
+            })(preNodeId, preNodeNextId));
+        }
+        for (let nId of nodeIds) {
+            functions.push((function(nodeId) {
+                return function(cb) {
+                    TreeNodeModel.update({ID: nodeId}, {"isDeleted": true}, cb);
+                };
+            })(nId));
+        }
+        async.parallel(functions, function(err, results) {
+            callback(req,res, err, "", results);
         });
     },
     createTplTreeNode: function(req, res){
         let params = JSON.parse(req.body.params),
             lastNodeId = params.lastNodeId,
             nodeData = params.rawNodeData;
-        TplNode.createTplTreeNode(nodeData, lastNodeId, function(err, data){
-            callback(req,res,err,"", data);
-        })
+        counter.counterDAO.getIDAfterCount(counter.moduleName.report, 1, function(err, result){
+            nodeData.ID = result.value.sequence_value;
+            var node = new TreeNodeModel(nodeData);
+            node.save(function (err, result) {
+                if (err) {
+                    callback(req,res, "树节点错误!", "", null);
+                } else {
+                    if (lastNodeId > 0) {
+                        TreeNodeModel.update({ID: lastNodeId}, {"NextSiblingID": nodeData.ID}, function(err, rst){
+                            if (err) {
+                                callback(req,res, "树节点错误!", "", null);
+                            } else {
+                                callback(req,res, false, "", result);
+                            }
+                        });
+                    } else callback(req,res, false, "", result);
+                }
+            });
+        });
     }
 }

+ 1 - 24
modules/reports/models/rpt_cfg.js

@@ -46,27 +46,4 @@ let RptCfgSchema = new Schema({
 
 let Rpt_Cfg_Mdl = smartcostdb.model("rpt_cfg", RptCfgSchema, "rpt_cfg");
 
-class RptCfgDAO {
-    getByUserId(userId, callback){
-        Rpt_Cfg_Mdl.find({userId: userId}, '-_id', function(err, templates){
-            if(templates.length){
-                callback(false, templates[0]);
-            }
-            else{
-                callback('no record was found!');
-            }
-        })
-    };
-    getAll(id, callback){
-        Rpt_Cfg_Mdl.find({}, '-_id', function(err, templates){
-            if(templates.length){
-                callback(false, templates);
-            }
-            else{
-                callback('no record was found!');
-            }
-        })
-    };
-};
-
-module.exports = new RptCfgDAO();
+module.exports = Rpt_Cfg_Mdl;

+ 1 - 18
modules/reports/models/rpt_template.js

@@ -20,21 +20,4 @@ let RptTemplateSchema = new Schema({
 
 let Template = smartcostdb.model("rpt_templates", RptTemplateSchema, "rpt_templates");
 
-class RplTplDAO{
-    get(grpId, id, callback){
-        Template.find({GROUP_KEY: grpId, ID_KEY: id}, '-_id', function(err, templates){
-            if(templates.length){
-                callback(false, templates[0]);
-            }
-            else{
-                callback('查找不到报表模板!');
-            }
-        })
-    };
-    getPromise(grpId, id){
-        let rst = Template.findOne({GROUP_KEY: grpId, ID_KEY: id}, '-_id').exec() ;
-        return rst;
-    }
-}
-
-module.exports = new RplTplDAO();
+module.exports = Template;

+ 2 - 77
modules/reports/models/tpl_tree_node.js

@@ -3,9 +3,7 @@
  */
 var mongoose = require('mongoose');
 var dbm = require("../../../config/db/db_manager");
-var db = dbm.getCfgConnection("Reports");
-var async = require("async");
-var rptTplDef = require("../../../public/rpt_tpl_def").getUtil();
+var db = dbm.getCfgConnection("scConstruct");
 var Schema = mongoose.Schema;
 var TreeNodeSchema = new Schema({
     ID:Number,
@@ -21,78 +19,5 @@ var TreeNodeSchema = new Schema({
 });
 
 var TreeNodeModel = db.model("rpt_tpl_tree", TreeNodeSchema, "rpt_tpl_tree");
-var counter = require('../../../public/counter/counter');
 
-//var RplTplTreeDAO = function(){};
-class RplTplTreeDAO{
-    getTplTreeNodes(grpType, userId, tplType, callback) {
-        var filter = {"grpType": grpType, "$or": [{"isDeleted": null}, {"isDeleted": false} ]};
-        if (userId) {
-            filter.userId = userId;
-        }
-        if ((tplType && tplType !== rptTplDef.TplType.ALL)) {
-            filter.tplType = tplType;
-        }
-        TreeNodeModel.find(filter, '-_id', function(err, data){
-            if (err) {
-                callback(true, null);
-            } else callback(false,data);
-        });
-    };
-    updateTreeNodes(nodes, callback) {
-        var functions = [];
-        for (let node of nodes) {
-            functions.push((function(doc) {
-                return function(cb) {
-                    TreeNodeModel.update({ID: doc.ID}, doc, cb);
-                };
-            })(node));
-        }
-        async.parallel(functions, function(err, results) {
-            callback(err, results);
-        });
-    };
-    removeNodes(nodeIds, preNodeId, preNodeNextId, callback) {
-        var functions = [];
-        if (preNodeId != -1) {
-            functions.push((function(nodeId, nextId) {
-                return function(cb) {
-                    TreeNodeModel.update({ID: nodeId}, {"NextSiblingID": nextId}, cb);
-                };
-            })(preNodeId, preNodeNextId));
-        }
-        for (let nId of nodeIds) {
-            functions.push((function(nodeId) {
-                return function(cb) {
-                    TreeNodeModel.update({ID: nodeId}, {"isDeleted": true}, cb);
-                };
-            })(nId));
-        }
-        async.parallel(functions, function(err, results) {
-            callback(err, results);
-        });
-    };
-    createTplTreeNode(nodeData, lastNodeId, callback) {
-        counter.counterDAO.getIDAfterCount(counter.moduleName.report, 1, function(err, result){
-            nodeData.ID = result.value.sequence_value;
-            var node = new TreeNodeModel(nodeData);
-            node.save(function (err, result) {
-                if (err) {
-                    callback("树节点错误!", false);
-                } else {
-                    if (lastNodeId > 0) {
-                        TreeNodeModel.update({ID: lastNodeId}, {"NextSiblingID": nodeData.ID}, function(err, rst){
-                            if (err) {
-                                callback("树节点错误!", false);
-                            } else {
-                                callback(false, result);
-                            }
-                        });
-                    } else callback(false, result);
-                }
-            });
-        });
-    };
-}
-
-module.exports = new RplTplTreeDAO();
+module.exports = TreeNodeModel;

+ 4 - 4
modules/reports/util/rpt_util.js

@@ -2,15 +2,15 @@
  * Created by Tony on 2017/3/24.
  */
 let cache = require('../../../public/cache/cacheUtil');
-let rpt_cfg = require('../models/rpt_cfg');
+let Rpt_Cfg_Mdl = require('../models/rpt_cfg');
 
 const RPT_CFG_GRP = 'rpt_cfg';
 
 module.exports = {
     setReportDefaultCache: function () {
-        rpt_cfg.getByUserId("Administrator", function (err, cfgs) {
-            if (cfgs) {
-                cache.setCache(RPT_CFG_GRP,'admin_cfg',cfgs);
+        Rpt_Cfg_Mdl.find({userId: "Administrator"}, '-_id', function(err, templates){
+            if(templates.length){
+                cache.setCache(RPT_CFG_GRP,'admin_cfg',templates[0]);
             }
         })
     },