Bladeren bron

ration tuning

TonyKang 8 jaren geleden
bovenliggende
commit
ffabf194e4

+ 54 - 0
modules/rationRepository/controllers/rationChapterTreeController.js

@@ -0,0 +1,54 @@
+/**
+ * Created by Tony on 2017/4/21.
+ */
+
+var rationChapterTreeData = require('../models/rationChapterTree');
+var callback = function(req,res,err,data){
+    if(data){
+        res.status(200)
+        res.json({success:true,data:data});
+    }
+    else
+    if(err){
+        res.status(500)
+        res.json({success:false,error:err});
+    }
+    else{
+        res.status(204);
+        res.json({success:true,data:null});
+    }
+}
+module.exports ={
+    getRationChapterTree:
+        function(req,res){
+            var libName = req.body.rationLibName;
+            rationChapterTreeData.getRationChapterTrees(libName,function(err,data){
+                callback(req,res,err,data)
+            })
+        },
+    tempRationChapterTreeInsert:
+        function(req,res){
+            var DBName = req.body.rationName;
+            var rationTempTree = JSON.parse(req.body.rationTempTree);
+            rationChapterTreeData.tempRationChapterTreeInsert(DBName,rationTempTree,function(err,data){
+                callback(req,res,err,data)
+            })
+        },
+    sectionUpsert:
+        function(req,res){
+            var LibName = req.body.rationLibName;
+            var section = JSON.parse(req.body.rationSection);
+            rationChapterTreeData.sectionUpsert(LibName,section,function(err,data){
+                callback(req,res,err,data)
+            })
+        },
+    deleteSection:
+        function(req,res){
+            var LibName = req.body.rationLibName;
+            var sectionID = req.body.sectionID;
+            rationChapterTreeData.deleteSection(LibName,sectionID,function(err,data){
+                callback(req,res,err,data)
+            })
+        }
+
+}

+ 30 - 5
modules/rationRepository/controllers/rationRepositoryController.js

@@ -3,14 +3,19 @@
  */
 var rationRepository = require("../models/rationRepository");
 
-var callback = function(req, res, err, data){
+var callback = function(req,res,err,data){
+    if(data){
+        res.status(200)
+        res.json({success:true,data:data});
+    }
+    else
     if(err){
-        //res.send({success: false, error: err});
-        res.json({success: false, error: err});
+        res.status(500)
+        res.json({success:false,error:err});
     }
     else{
-        //res.send({success: true, data: data});
-        res.json({success:true, data: data});
+        res.status(204);
+        res.json({success:true});
     }
 };
 
@@ -34,6 +39,26 @@ module.exports = {
             }
         });
     },
+    getRealLibName:function(req,res){
+        var libName = req.body.rationName;
+        rationRepository.getRealLibName(libName,function(err,data){
+            if (data) {
+                callback(req, res, err, data);
+            } else {
+                callback(req, res, err, null);
+            }
+        })
+    },
+    deleteRationLib:function(req,res){
+        var rationName = req.body.rationName;
+        rationRepository.deleteRationLib(rationName,function(err,data){
+            if (data) {
+                callback(req, res, err, data);
+            } else {
+                callback(req, res, err,  null);
+            }
+        })
+    },
     updateRationRepositoryName: function(req, res) {
         var orgName = req.body.rationName;
         var newName = req.body.newName;

+ 68 - 0
modules/rationRepository/models/rationChapterTree.js

@@ -0,0 +1,68 @@
+/**
+ * Created by Tony on 2017/4/21.
+ */
+
+var mongoose = require("mongoose");
+var dbm = require("../../../config/db/db_manager");
+var async = require("async");
+var Schema = mongoose.Schema;
+
+var rationChapterTreeSchema = mongoose.Schema({//章节树  //生成唯一id改为sectionID  改成string
+    sectionId:Number,
+    parentId:Number,
+    nextSiblingId:Number,
+    name:String
+});
+
+
+var rationChapterTreeDAO = function(){};
+
+rationChapterTreeDAO.prototype.getRationChapterTrees = function(repositoryDbName,callback){
+    var db = dbm.getCfgConnection(repositoryDbName)
+    var rationChapterTreeModel = db.model("rationChapterTrees",rationChapterTreeSchema, "rationChapterTrees")
+    rationChapterTreeModel.find({},function(err,data){
+        if(data.length) callback(false,data);
+        else  if(err) callback("获取定额树错误!",false)
+        else callback(false,false);
+    })
+}
+rationChapterTreeDAO.prototype.tempRationChapterTreeInsert = function(repositoryDbName,rationTempTree,callback){
+    var db = dbm.getCfgConnection(repositoryDbName)
+    var rationChapterTreeModel = db.model("rationChapterTrees",rationChapterTreeSchema, "rationChapterTrees")
+    rationChapterTreeModel.collection.insert(rationTempTree,function(err,data){
+        if(err) callback("插入定额模板错误",false)
+        else callback(false,"ok")
+    })
+}
+
+rationChapterTreeDAO.prototype.sectionUpsert = function(repositoryDbName,section,callback){
+    var db = dbm.getCfgConnection(repositoryDbName);
+    var rationChapterTreeModel = db.model("rationChapterTrees",rationChapterTreeSchema, "rationChapterTrees");
+    rationChapterTreeModel.find({"sectionId": section.sectionId},function(err,data){
+        if(data.length){
+            rationChapterTreeModel.update({'sectionId':section.sectionId},section,function(err,data){
+                if(err){
+                    callback(" ",false);
+                }else
+                    callback(false,"ok");
+            });
+        }else{
+            var N = new rationChapterTreeModel(section).save(function(err){
+                if(err){
+                    callback(" ",false);
+                }else
+                    callback(false,"success!");
+            })
+        }
+    })
+}
+//待  ration模块完成
+rationChapterTreeDAO.prototype.deleteSection= function(repositoryDbName,sectionId,callback){
+    var db = dbm.getCfgConnection(repositoryDbName);
+    var rationChapterTreeModel = db.model("rationItems",rationChapterTreeSchema);
+    rationChapterTreeModel.find({"sectionId": sectionId},[],function(err,data){
+
+    })
+}
+
+module.exports = new rationChapterTreeDAO()

+ 12 - 0
modules/rationRepository/models/rationRepository.js

@@ -76,4 +76,16 @@ rationRepositoryDao.prototype.updateName = function(orgName,newName,callback){
     });
 }
 
+rationRepositoryDao.prototype.deleteRationLib = function(rationName,callback){
+    rationRepository.find({"dispName":rationName, "deleted": false}, function(err, data){
+        if (data.length == 1) {
+            rationRepository.update({dispName:rationName},{$set:{deleted: true}},function(err){
+                if(err) callback("err",false);
+                else callback(false,"ok")
+            })
+        } else
+            callback("删除失败!",false);
+    });
+}
+
 module.exports = new rationRepositoryDao();

+ 7 - 0
modules/rationRepository/routes/rationRepRoutes.js

@@ -6,9 +6,16 @@ var apiRouter =express.Router();
 var _rootDir = __dirname;
 
 var rationRepositoryController = require("../controllers/rationRepositoryController");
+var rationChapterTreeController = require("../controllers/rationChapterTreeController");
 
 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("/getRationTree",rationChapterTreeController.getRationChapterTree);
+apiRouter.post("/addSection",rationChapterTreeController.sectionUpsert);
+apiRouter.post("/deleteSection",rationChapterTreeController.deleteSection);
 
 module.exports = apiRouter;

+ 6 - 0
web/rationLibEditor/dinge.html

@@ -45,6 +45,12 @@
             <div class="container-fluid">
                 <div class="row">
                   <div class="main-side col-lg-3 p-0">
+                      <div class="tab-bar">
+                          <!--
+                          <a href="#" class="btn btn-secondary btn-sm">创建默认章节树</a>
+                          -->
+                          <a href="#" class="btn btn-secondary btn-sm">增加根节点</a>
+                      </div>
                     <div class="tab-content">
                       <ul id="treeDemo" class="ztree"></ul>
                     </div>

+ 5 - 5
web/rationLibEditor/js/dinge.js

@@ -31,7 +31,7 @@ function initParam(){
 function getRealLib(LibName){
     $.ajax({
         type:"POST",
-        url:"rationRepository/api/getRealLibName",
+        url:"api/getRealLibName",
         data:{"rationName":LibName},
         async:false,
         dataType:"json",
@@ -48,7 +48,7 @@ function getRealLib(LibName){
 function  getRationTree(){
     $.ajax({
         type:"POST",
-        url:"rationRepository/api/getRationTree",
+        url:"api/getRationTree",
         data:{"rationLibName": params.realLibName},
         dataType:"json",
         cache:false,
@@ -151,7 +151,7 @@ function saveTempTree(){
     var rationTempTree = JSON.stringify(N)
     $.ajax({
         type:"POST",
-        url:"rationRepository/api/saveTempRationTree",
+        url:"api/saveTempRationTree",
         data:{"rationName":rationLibName,"rationTempTree":rationTempTree},
         dataType:"json",
         cache:false,
@@ -199,7 +199,7 @@ function saveNewSection(n){
     var section = JSON.stringify(sec);
     $.ajax({
         type:"POST",
-        url:"rationRepository/api/addSection",
+        url:"api/addSection",
         data:{"rationLibName":params.realLibName,"rationSection":section},
         dataType:"json",
         cache:false,
@@ -225,7 +225,7 @@ function onRemove(e, treeId, treeNode) {
     }
     $.ajax({
         type:"POST",
-        url:"rationRepository/api/deleteSection",
+        url:"api/deleteSection",
         data:{"rationLibName":params.realLibName,"sectionID": treeNode.id},
         dataType:"json",
         cache:false,