zhangweicheng 8 роки тому
батько
коміт
3609a7ef16

+ 60 - 34
modules/bills_lib/routes/bills_lib_routes.js

@@ -5,38 +5,64 @@ let express = require("express");
 let billsController = require("./../controllers/bills_lib_controllers");
 let billsRouter =express.Router();
 
-billsRouter.post('/getMaxNumber', billsController.getMaxNumber);
-billsRouter.post('/getABillsLib', billsController.getABillsLib);
-billsRouter.post("/getStdBillsLib", billsController.getStdBillsLib);
-billsRouter.post("/createStdBillsLib", billsController.createStdBillsLib);
-billsRouter.post("/deleteStdBillsLib", billsController.deleteStdBillsLib);
-billsRouter.post("/renameStdBillsLib", billsController.renameStdBillsLib);
-billsRouter.post("/getStdBillsLibName", billsController.getStdBillsLibName);
-billsRouter.post("/getCurrentUniqId", billsController.getCurrentUniqId);
-billsRouter.post("/getBills", billsController.getBills);
-billsRouter.post("/createBills", billsController.createBills);
-billsRouter.post("/updatePNId", billsController.updatePNId);
-billsRouter.post("/updateBills", billsController.updateBills);
-billsRouter.post("/updateBillsArr", billsController.updateBillsArr);
-billsRouter.post("/pasteBills", billsController.pasteBills);
-billsRouter.post('/updateRecharge', billsController.updateRecharge);
-billsRouter.post('/pasteRel', billsController.pasteRel);
-billsRouter.post("/deleteBills", billsController.deleteBills);
-billsRouter.post("/getJobContent", billsController.getJobContent);
-billsRouter.post("/createJobContent", billsController.createJobContent);
-billsRouter.post("/updateJobContent", billsController.updateJobContent);
-billsRouter.post("/deleteJobContent", billsController.deleteJobContent);
-billsRouter.post("/pasteJobs", billsController.pasteJobs);
-billsRouter.post("/edCreateJob", billsController.edCreateJob);
-billsRouter.post("/edUpdateJob", billsController.edUpdateJob);
-billsRouter.post("/getItemCharacter", billsController.getItemCharacter);
-billsRouter.post("/createItemCharacter", billsController.createItemCharacter);
-billsRouter.post("/updateItemCharacter", billsController.updateItemCharacter);
-billsRouter.post("/updateValue", billsController.updateValue);
-billsRouter.post("/deleteItemCharacter", billsController.deleteItemCharacter);
-billsRouter.post("/pasteItems", billsController.pasteItems);
-billsRouter.post("/pasteValues", billsController.pasteValues);
-billsRouter.post("/edCreateItem", billsController.edCreateItem);
-billsRouter.post("/edUpdateItem", billsController.edUpdateItem);
+module.exports =function (app) {
+
+    app.get("/stdBillsmain", function(req, res){
+        if(!req.session.userAccount){
+            res.redirect('/login');
+        }
+        else {
+            res.render("maintain/bills_lib/html/main.html",
+                {userAccount: req.session.userAccount,
+                    userID: req.session.userID});
+        }
+    });
+    app.get("/stdBills", function(req, res){
+        res.render("maintain/bills_lib/html/qingdan.html");
+    });
+    app.get('/stdJobs', function(req, res){
+        res.render('maintain/bills_lib/html/neirong.html');
+    });
+    app.get('/stdItems', function(req, res){
+        res.render('maintain/bills_lib/html/tezheng.html');
+    });
+
+    billsRouter.post('/getMaxNumber', billsController.getMaxNumber);
+    billsRouter.post('/getABillsLib', billsController.getABillsLib);
+    billsRouter.post("/getStdBillsLib", billsController.getStdBillsLib);
+    billsRouter.post("/createStdBillsLib", billsController.createStdBillsLib);
+    billsRouter.post("/deleteStdBillsLib", billsController.deleteStdBillsLib);
+    billsRouter.post("/renameStdBillsLib", billsController.renameStdBillsLib);
+    billsRouter.post("/getStdBillsLibName", billsController.getStdBillsLibName);
+    billsRouter.post("/getCurrentUniqId", billsController.getCurrentUniqId);
+    billsRouter.post("/getBills", billsController.getBills);
+    billsRouter.post("/createBills", billsController.createBills);
+    billsRouter.post("/updatePNId", billsController.updatePNId);
+    billsRouter.post("/updateBills", billsController.updateBills);
+    billsRouter.post("/updateBillsArr", billsController.updateBillsArr);
+    billsRouter.post("/pasteBills", billsController.pasteBills);
+    billsRouter.post('/updateRecharge', billsController.updateRecharge);
+    billsRouter.post('/pasteRel', billsController.pasteRel);
+    billsRouter.post("/deleteBills", billsController.deleteBills);
+    billsRouter.post("/getJobContent", billsController.getJobContent);
+    billsRouter.post("/createJobContent", billsController.createJobContent);
+    billsRouter.post("/updateJobContent", billsController.updateJobContent);
+    billsRouter.post("/deleteJobContent", billsController.deleteJobContent);
+    billsRouter.post("/pasteJobs", billsController.pasteJobs);
+    billsRouter.post("/edCreateJob", billsController.edCreateJob);
+    billsRouter.post("/edUpdateJob", billsController.edUpdateJob);
+    billsRouter.post("/getItemCharacter", billsController.getItemCharacter);
+    billsRouter.post("/createItemCharacter", billsController.createItemCharacter);
+    billsRouter.post("/updateItemCharacter", billsController.updateItemCharacter);
+    billsRouter.post("/updateValue", billsController.updateValue);
+    billsRouter.post("/deleteItemCharacter", billsController.deleteItemCharacter);
+    billsRouter.post("/pasteItems", billsController.pasteItems);
+    billsRouter.post("/pasteValues", billsController.pasteValues);
+    billsRouter.post("/edCreateItem", billsController.edCreateItem);
+    billsRouter.post("/edUpdateItem", billsController.edUpdateItem);
+
+    app.use("/stdBillsEditor", billsRouter);
+
+}
+
 
-module.exports = billsRouter;

+ 47 - 0
modules/common/fileUtils.js

@@ -0,0 +1,47 @@
+'use strict';
+
+/**
+ * Module dependencies.
+ */
+var _ = require('lodash'),
+	glob = require('glob');
+
+
+/**
+ * Get files by glob patterns
+ */
+module.exports.getGlobbedFiles = function(globPatterns, removeRoot) {
+	// For context switching
+	var _this = this;
+
+	// URL paths regex
+	var urlRegex = new RegExp('^(?:[a-z]+:)?\/\/', 'i');
+
+	// The output array
+	var output = [];
+
+	// If glob pattern is array so we use each pattern in a recursive way, otherwise we use glob
+	if (_.isArray(globPatterns)) {
+		globPatterns.forEach(function(globPattern) {
+			output = _.union(output, _this.getGlobbedFiles(globPattern, removeRoot));
+		});
+	} else if (_.isString(globPatterns)) {
+		if (urlRegex.test(globPatterns)) {
+			output.push(globPatterns);
+		} else {
+			glob(globPatterns, {
+				sync: true
+			}, function(err, files) {
+				if (removeRoot) {
+					files = files.map(function(file) {
+						return file.replace(removeRoot, '');
+					});
+				}
+
+				output = _.union(output, files);
+			});
+		}
+	}
+
+	return output;
+};

+ 66 - 32
modules/ration_repository/routes/ration_rep_routes.js

@@ -12,35 +12,69 @@ var repositoryGljController = require("../controllers/repository_glj_controller"
 var coeListController = require("../controllers/coe_controller");
 var searchController = require('../controllers/search_controller');
 
-apiRouter.post("/getRationDisplayNames",rationRepositoryController.getDisPlayRationLibs);
-apiRouter.post("/editRationLibs",rationRepositoryController.updateRationRepositoryName);
-apiRouter.post("/addRationRepository",rationRepositoryController.addRationRepository);
-apiRouter.post("/deleteRationLibs",rationRepositoryController.deleteRationLib);
-apiRouter.post("/getRealLibName",rationRepositoryController.getRealLibName);
-apiRouter.post("/getLibIDByName",rationRepositoryController.getLibIDByName);
-
-apiRouter.post("/getRationTree",rationChapterTreeController.getRationChapterTree);
-apiRouter.post("/createNewNode",rationChapterTreeController.createNewNode);
-apiRouter.post("/updateNodes",rationChapterTreeController.updateNodes);
-apiRouter.post("/deleteNodes",rationChapterTreeController.deleteNodes);
-
-apiRouter.post("/getRationItems",rationController.getRationItemsBySection);
-apiRouter.post("/mixUpdateRationItems",rationController.mixUpdateRationItems);
-
-apiRouter.post("/createNewGljTypeNode",repositoryGljController.createNewGljTypeNode);
-apiRouter.post("/updateGljNodes",repositoryGljController.updateGljNodes);
-apiRouter.post("/deleteGljNodes",repositoryGljController.deleteGljNodes);
-apiRouter.post("/getGljTree",repositoryGljController.getGljTree);
-apiRouter.post("/getGljItems",repositoryGljController.getGljItems);
-apiRouter.post("/mixUpdateGljItems",repositoryGljController.mixUpdateGljItems);
-apiRouter.post("/getGljItemsByIds",repositoryGljController.getGljItemsByIds);
-apiRouter.post("/getGljItemsByCodes",repositoryGljController.getGljItemsByCodes);
-
-apiRouter.post("/getCoeList",coeListController.getCoeList);
-apiRouter.post("/saveCoeList",coeListController.saveCoeList);
-apiRouter.post("/getCoeItemsByIDs",coeListController.getCoeItemsByIDs);
-
-apiRouter.post('/getRationItem', searchController.getRationItem);
-apiRouter.post('/findRation', searchController.findRation);
-
-module.exports = apiRouter;
+
+module.exports =  function (app) {
+
+    app.get('/rationRepository/main', function(req, res) {
+        res.render('maintain/ration_repository/main.html',
+            {
+                userAccount: req.session.userAccount,
+                userID: req.session.userID
+            });
+    });
+    app.get('/rationRepository/ration', function(req, res) {
+        res.render('maintain/ration_repository/dinge.html',
+            {
+                userAccount: req.session.userAccount,
+                userID: req.session.userID
+            });
+    });
+    app.get('/rationRepository/lmm', function(req, res) {
+        res.render('maintain/ration_repository/gongliao.html',
+            {
+                userAccount: req.session.userAccount,
+                userID: req.session.userID
+            });
+    });
+
+    app.get('/rationRepository/coeList', function(req, res) {
+        res.render('maintain/ration_repository/fuzhu.html',
+            {
+                userAccount: req.session.userAccount,
+                userID: req.session.userID
+            });
+    });
+
+    apiRouter.post("/getRationDisplayNames",rationRepositoryController.getDisPlayRationLibs);
+    apiRouter.post("/editRationLibs",rationRepositoryController.updateRationRepositoryName);
+    apiRouter.post("/addRationRepository",rationRepositoryController.addRationRepository);
+    apiRouter.post("/deleteRationLibs",rationRepositoryController.deleteRationLib);
+    apiRouter.post("/getRealLibName",rationRepositoryController.getRealLibName);
+    apiRouter.post("/getLibIDByName",rationRepositoryController.getLibIDByName);
+
+    apiRouter.post("/getRationTree",rationChapterTreeController.getRationChapterTree);
+    apiRouter.post("/createNewNode",rationChapterTreeController.createNewNode);
+    apiRouter.post("/updateNodes",rationChapterTreeController.updateNodes);
+    apiRouter.post("/deleteNodes",rationChapterTreeController.deleteNodes);
+
+    apiRouter.post("/getRationItems",rationController.getRationItemsBySection);
+    apiRouter.post("/mixUpdateRationItems",rationController.mixUpdateRationItems);
+
+    apiRouter.post("/createNewGljTypeNode",repositoryGljController.createNewGljTypeNode);
+    apiRouter.post("/updateGljNodes",repositoryGljController.updateGljNodes);
+    apiRouter.post("/deleteGljNodes",repositoryGljController.deleteGljNodes);
+    apiRouter.post("/getGljTree",repositoryGljController.getGljTree);
+    apiRouter.post("/getGljItems",repositoryGljController.getGljItems);
+    apiRouter.post("/mixUpdateGljItems",repositoryGljController.mixUpdateGljItems);
+    apiRouter.post("/getGljItemsByIds",repositoryGljController.getGljItemsByIds);
+    apiRouter.post("/getGljItemsByCodes",repositoryGljController.getGljItemsByCodes);
+
+    apiRouter.post("/getCoeList",coeListController.getCoeList);
+    apiRouter.post("/saveCoeList",coeListController.saveCoeList);
+    apiRouter.post("/getCoeItemsByIDs",coeListController.getCoeItemsByIDs);
+
+    apiRouter.post('/getRationItem', searchController.getRationItem);
+    apiRouter.post('/findRation', searchController.findRation);
+
+    app.use("/rationRepository/api",apiRouter);
+}

+ 15 - 3
modules/reports/routes/report_router.js

@@ -6,7 +6,19 @@ let express = require('express');
 let rptRouter = express.Router();
 let reportController = require('./../controllers/rpt_controller');
 
-rptRouter.post('/getReport', reportController.getReportAllPages);
-rptRouter.get('/getExcel/:id/:size/:rptName', reportController.getExcel);
+module.exports =function (app) {
 
-module.exports = rptRouter;
+    app.get('/report',  function(req, res) {
+        if (!req.session.userAccount) {
+            res.redirect('/login');
+        }
+        else {
+            res.render('maintain/report/rpt_test.html',
+                {userAccount: req.session.userAccount,
+                    userID: req.session.userID});
+        }
+    });
+    rptRouter.post('/getReport', reportController.getReportAllPages);
+    rptRouter.get('/getExcel/:id/:size/:rptName', reportController.getExcel);
+    app.use("/report_api", rptRouter);
+}

+ 22 - 10
modules/reports/routes/rpt_tpl_router.js

@@ -3,15 +3,27 @@ let rptTplRouter = express.Router();
 let reportTplController = require('./../controllers/rpt_tpl_controller');
 let reportCfgController = require('./../controllers/rpt_cfg_controller');
 
-rptTplRouter.post('/createTplTreeNode', reportTplController.createTplTreeNode);
-rptTplRouter.post('/getRptTplTree', reportTplController.getRptTplTree);
-rptTplRouter.post('/updateRptTplNodes', reportTplController.updateTreeNodes);
-rptTplRouter.post('/deleteRptTplNodes', reportTplController.deleteRptTplNodes);
-rptTplRouter.post('/createDftRptTpl', reportTplController.createDftRptTpl);
-rptTplRouter.post('/getRefRptTpl', reportTplController.getRefRptTpl);
-rptTplRouter.post('/updateRptTpl', reportTplController.updateRptTpl);
+module.exports = function (app) {
+    app.get('/rpt_tpl',  function(req, res) {
+        if (!req.session.userAccount) {
+            res.redirect('/login');
+        }
+        else {
+            res.render('maintain/report/rpt_tpl_main.html',
+                {userAccount: req.session.userAccount,
+                    userID: req.session.userID});
+        }
+    });
 
-rptTplRouter.post('/getUserRptCfg', reportCfgController.getReportUserCfg);
-rptTplRouter.post('/getMappingFields', reportCfgController.getAllMappingFields);
+    rptTplRouter.post('/createTplTreeNode', reportTplController.createTplTreeNode);
+    rptTplRouter.post('/getRptTplTree', reportTplController.getRptTplTree);
+    rptTplRouter.post('/updateRptTplNodes', reportTplController.updateTreeNodes);
+    rptTplRouter.post('/deleteRptTplNodes', reportTplController.deleteRptTplNodes);
+    rptTplRouter.post('/createDftRptTpl', reportTplController.createDftRptTpl);
+    rptTplRouter.post('/getRefRptTpl', reportTplController.getRefRptTpl);
+    rptTplRouter.post('/updateRptTpl', reportTplController.updateRptTpl);
 
-module.exports = rptTplRouter;
+    rptTplRouter.post('/getUserRptCfg', reportCfgController.getReportUserCfg);
+    rptTplRouter.post('/getMappingFields', reportCfgController.getAllMappingFields);
+    app.use("/report_tpl_api", rptTplRouter);
+}

+ 34 - 30
modules/users/routes/users_route.js

@@ -5,33 +5,37 @@ var uc = require('../controllers/users_controller');
 
 var htmlPath = path.join(__dirname,'../../../','web/users/');
 
-router.get('/', function(req, res) {
-    if(!req.session.userAccount){
-        res.redirect('/login');
-    }
-    else{
-        res.redirect('/pm');
-    }
-});
-
-router.get('/login', function(req, res) {
-  res.render('users/login', {});
-});
-
-router.post('/login', uc.userLogin);
-
-router.get('/reg', function(req, res, next) {
-  res.render('reg',{});
-});
-
-router.post('/reg', uc.userReg);
-
-router.get("/logout",function(req,res){
-    delete req.session.userID;
-    delete req.session.userAccount;
-    delete req.session.userEmail;
-    delete req.session.userMobile;
-    res.redirect("/");
-});
-
-module.exports = router;
+module.exports =function (app) {
+    router.get('/', function(req, res) {
+        if(!req.session.userAccount){
+            res.redirect('/login');
+        }
+        else{
+            res.redirect('/pm');
+        }
+    });
+
+    router.get('/login', function(req, res) {
+        res.render('users/login', {});
+    });
+
+    router.post('/login', uc.userLogin);
+
+    router.get('/reg', function(req, res, next) {
+        res.render('reg',{});
+    });
+
+    router.post('/reg', uc.userReg);
+
+    router.get("/logout",function(req,res){
+        delete req.session.userID;
+        delete req.session.userAccount;
+        delete req.session.userEmail;
+        delete req.session.userMobile;
+        res.redirect("/");
+    });
+    app.use('/',router);
+};
+
+
+

+ 5 - 82
operation.js

@@ -9,6 +9,7 @@ cfgCacheUtil.setupDftCache();
 let path = require('path');
 let session = require('express-session');
 let DBStore = require('connect-mongo')(session);
+let fileUtils = require("./modules/common/fileUtils");
 
 let URL = require('url');
 let fs = require('fs');
@@ -52,88 +53,10 @@ app.use(function (req, res, next) {
     next();
 });
 
-app.use('/', require('./modules/users/routes/users_route'));
-
-let rpt_Router = require("./modules/reports/routes/report_router");
-app.get('/report',  function(req, res) {
-    if (!req.session.userAccount) {
-        res.redirect('/login');
-    }
-    else {
-        res.render('maintain/report/rpt_test.html',
-            {userAccount: req.session.userAccount,
-                userID: req.session.userID});
-    }
-});
-app.use("/report_api", rpt_Router);
-
-let rptTpl_Router = require("./modules/reports/routes/rpt_tpl_router");
-app.get('/rpt_tpl',  function(req, res) {
-    if (!req.session.userAccount) {
-        res.redirect('/login');
-    }
-    else {
-        res.render('maintain/report/rpt_tpl_main.html',
-            {userAccount: req.session.userAccount,
-                userID: req.session.userID});
-    }
-});
-app.use("/report_tpl_api", rptTpl_Router);
-
-let rationRepository_Router = require("./modules/ration_repository/routes/ration_rep_routes");
-app.get('/rationRepository/main', function(req, res) {
-    res.render('maintain/ration_repository/main.html',
-        {
-            userAccount: req.session.userAccount,
-            userID: req.session.userID
-        });
-});
-app.get('/rationRepository/ration', function(req, res) {
-    res.render('maintain/ration_repository/dinge.html',
-        {
-            userAccount: req.session.userAccount,
-            userID: req.session.userID
-        });
-});
-app.get('/rationRepository/lmm', function(req, res) {
-    res.render('maintain/ration_repository/gongliao.html',
-        {
-            userAccount: req.session.userAccount,
-            userID: req.session.userID
-        });
-});
-
-app.get('/rationRepository/coeList', function(req, res) {
-    res.render('maintain/ration_repository/fuzhu.html',
-        {
-            userAccount: req.session.userAccount,
-            userID: req.session.userID
-        });
-});
-
-app.use("/rationRepository/api",rationRepository_Router);
-
-app.get("/stdBillsmain", function(req, res){
-    if(!req.session.userAccount){
-        res.redirect('/login');
-    }
-    else {
-        res.render("maintain/bills_lib/html/main.html",
-            {userAccount: req.session.userAccount,
-                userID: req.session.userID});
-    }
-});
-app.get("/stdBills", function(req, res){
-    res.render("maintain/bills_lib/html/qingdan.html");
-});
-app.get('/stdJobs', function(req, res){
-    res.render('maintain/bills_lib/html/neirong.html');
-});
-app.get('/stdItems', function(req, res){
-    res.render('maintain/bills_lib/html/tezheng.html');
-});
-let billsLibRouter = require("./modules/bills_lib/routes/bills_lib_routes");
-app.use("/stdBillsEditor", billsLibRouter);
+//加载路由文件
+fileUtils.getGlobbedFiles('./modules/**/routes/*.js').forEach(function(modelPath) {
+    require(path.resolve(modelPath))(app);
+})
 
 app.use(function(req, res, next) {
     res.status(404).send('404 Error');

+ 2 - 1
package.json

@@ -13,7 +13,8 @@
     "ejs": "~2.5.5",
     "express-session": "^1.15.1",
     "request": "^2.79.0",
-    "tape": "^4.6.3"
+    "tape": "^4.6.3",
+    "glob": "~4.0.5"
   },
   "dependencies": {
     "bluebird": "^3.5.0",