소스 검색

code sync from operation

TonyKang 7 년 전
부모
커밋
327ae9a031

+ 14 - 0
modules/reports/controllers/rpt_tpl_controller.js

@@ -15,6 +15,7 @@ let rptTplDef = rpttplDefObj.getUtil();
 
 //import stringUtil from "../../../public/stringUtil";
 import JV from "../rpt_component/jpc_value_define";
+import rttFacade from "../facade/rpt_tpl_tree_node_facade";
 
 //import test_glj_type_util from "../../../public/cache/std_glj_type_util");
 
@@ -36,6 +37,19 @@ let mExport = {
     },
     getRptTplTree: function(req, res) {
         let params = JSON.parse(req.body.params),
+            compilationId = params.compilationId,
+            userId = params.userId,
+            engineerId = params.engineerId;
+        rttFacade.findTplTree(compilationId, engineerId, userId).then(function(result) {
+            if (result) {
+                callback(req,res,false,"", result);
+            } else {
+                callback(req,res, true,"no result", null);
+            }
+        });
+    },
+    getRptTplTree_org: function(req, res) {
+        let params = JSON.parse(req.body.params),
             grpType = params.grpType,
             userId = params.userId,
             tplType = params.tplType;

+ 10 - 10
modules/reports/facade/rpt_tpl_tree_node_facade.js

@@ -11,7 +11,7 @@ const SYSTEM_USER_ID = -100;
 function validate(doc) {
     let rst = true;
     if (doc) {
-        if (!(doc.hasOwnProperty("comilationId") && doc.hasOwnProperty("engineerId") && doc.hasOwnProperty("userId"))) {
+        if (!(doc.hasOwnProperty("compilationId") && doc.hasOwnProperty("engineerId") && doc.hasOwnProperty("userId"))) {
             rst = false;
         }
     } else {
@@ -28,24 +28,24 @@ async function createNewTree(doc) {
     }
 }
 
-async function updateTree(comilationId, engineerId, userId, doc) {
-    let filter = {"comilationId": comilationId, "engineerId": engineerId, "userId": userId};
+async function updateTree(compilationId, engineerId, userId, doc) {
+    let filter = {"compilationId": compilationId, "engineerId": engineerId, "userId": userId};
     return await rpt_tpl_tree_mdl.update(filter, doc);
 }
 
-async function removeTree(comilationId, engineerId, userId, cb) {
-    let filter = {"comilationId": comilationId, "engineerId": engineerId, "userId": userId};
+async function removeTree(compilationId, engineerId, userId, cb) {
+    let filter = {"compilationId": compilationId, "engineerId": engineerId, "userId": userId};
     return await rpt_tpl_tree_mdl.findAndModify(filter, [], { $set: { "isDeleted": true } }, {'new':true}, cb);
 }
 
-async function removeTreePhycically(comilationId, engineerId, userId) {
-    let filter = {"comilationId": comilationId, "engineerId": engineerId, "userId": userId};
+async function removeTreePhycically(compilationId, engineerId, userId) {
+    let filter = {"compilationId": compilationId, "engineerId": engineerId, "userId": userId};
     return await rpt_tpl_tree_mdl.remove(filter);
 }
 
-async function findTplTree(comilationId, engineerIds, userIds) {
-    //let filter = {"comilationId": comilationId, "engineerId": engineerIds, "userId": userIds};
-    let filter = {"comilationId": comilationId, "engineerId": engineerIds, "userId": userIds, "$or": [{"isDeleted": null}, {"isDeleted": false}]};
+async function findTplTree(compilationId, engineerIds, userIds) {
+    //let filter = {"compilationId": compilationId, "engineerId": engineerIds, "userId": userIds};
+    let filter = {"compilationId": compilationId, "engineerId": engineerIds, "userId": userIds, "$or": [{"isDeleted": null}, {"isDeleted": false}]};
     if (engineerIds instanceof Array) {
         filter.engineerId = {$in: engineerIds};
     }

+ 1 - 1
modules/reports/models/tpl_tree_node.js

@@ -26,7 +26,7 @@ let TplNodeSchema = new Schema({
 });
 
 let RptTplTreeSchema = new Schema({
-    comilationId: String,   //编办的ObjectId
+    compilationId: String,  //编办的ObjectId
     engineerId: Number,     //工程专业Id(参考 /modules/common/const/engineering.js)
     userId: Number,         //userId,如果是标准模板,则为-100
     properties: [],         //这是一个预留的属性,假定未来还会有不同的划分细节(如:招标/投标/清单 ... etc)

+ 27 - 5
public/web/ztree_common.js

@@ -3,10 +3,32 @@
  */
 zTreeHelper = {
     createTree: function(sourceData, setting, containerId, caller){
-        var treeArr = tree_Data_Helper.buildTreeNodeDirectly(sourceData);
-        var private_build_parentNodeIds = function(pNodeId, nodesArr){
-            var rst = [];
-            for (var i = 0; i < nodesArr.length; i++) {
+        let me = this, treeArr = tree_Data_Helper.buildTreeNodeDirectly(sourceData);
+        // let private_build_parentNodeIds = function(pNodeId, nodesArr){
+        //     let rst = [];
+        //     for (let i = 0; i < nodesArr.length; i++) {
+        //         if (nodesArr[i].items.length > 0) {
+        //             rst = rst.concat(private_build_parentNodeIds(nodesArr[i].ID, nodesArr[i].items));
+        //         } else {
+        //             rst.push(nodesArr[i].ID);
+        //         }
+        //     }
+        //     if (pNodeId && rst.length > 0) {
+        //         caller.parentNodeIds["_pNodeId_" + pNodeId] = rst;
+        //     }
+        //     return rst;
+        // };
+        // if (caller.parentNodeIds) {
+        //     private_build_parentNodeIds(null, treeArr);
+        // }
+        // caller.treeObj = $.fn.zTree.init($("#" + containerId), setting, treeArr);
+        // caller.treeObj.expandAll(true);
+        me.createTreeDirectly(treeArr, setting, containerId, caller);
+    },
+    createTreeDirectly: function (treeArr, setting, containerId, caller) {
+        let private_build_parentNodeIds = function(pNodeId, nodesArr){
+            let rst = [];
+            for (let i = 0; i < nodesArr.length; i++) {
                 if (nodesArr[i].items.length > 0) {
                     rst = rst.concat(private_build_parentNodeIds(nodesArr[i].ID, nodesArr[i].items));
                 } else {
@@ -24,4 +46,4 @@ zTreeHelper = {
         caller.treeObj = $.fn.zTree.init($("#" + containerId), setting, treeArr);
         caller.treeObj.expandAll(true);
     }
-}
+};

+ 10 - 6
test/unit/reports/rpt_tpl_tree_test.js

@@ -15,7 +15,7 @@ dbm.connect();
 /*
 test('测试 - 创建dummy报表树: ', function (t) {
     let tprTplTree = {};
-    tprTplTree.comilationId = "598d239605cdd825682925d1";
+    tprTplTree.compilationId = "598d239605cdd825682925d1";
     tprTplTree.engineerId = 1;
     tprTplTree.userId = -100;
     tprTplTree.properties = [{"isZhaoBiao": false}, {"isBills": true}];
@@ -39,7 +39,7 @@ test('测试 - 创建dummy报表树: ', function (t) {
 /*
 test('测试 - 创建dummy报表树2: ', function (t) {
     let tprTplTree = {};
-    tprTplTree.comilationId = "598d239605cdd825682925d1";
+    tprTplTree.compilationId = "598d239605cdd825682925d1";
     tprTplTree.engineerId = 2;
     tprTplTree.userId = -100;
     tprTplTree.properties = [{"isZhaoBiao": false}, {"isBills": true}];
@@ -63,7 +63,7 @@ test('测试 - 创建dummy报表树2: ', function (t) {
 /*
 test('测试 - 更新 dummy报表树2: ', function (t) {
     let tprTplTree = {};
-    tprTplTree.comilationId = "598d239605cdd825682925d1";
+    tprTplTree.compilationId = "598d239605cdd825682925d1";
     tprTplTree.engineerId = 2;
     tprTplTree.userId = -100;
     tprTplTree.properties = [{"isZhaoBiao": false}, {"isBills": true}];
@@ -76,7 +76,7 @@ test('测试 - 更新 dummy报表树2: ', function (t) {
     tprTplTree.items.push( {nodeType: 1, refId: -1, name: "【表-09】分部分项工程/施工技术措施项目清单计价表", items: null} );
     tprTplTree.items.push( {nodeType: 1, refId: -1, name: "【表-09-1】分部分项工程/施工技术措施项目清单计价表(一)", items: null} );
 
-    let results = rttFacade.updateTree(tprTplTree.comilationId, tprTplTree.engineerId, tprTplTree.userId, tprTplTree);
+    let results = rttFacade.updateTree(tprTplTree.compilationId, tprTplTree.engineerId, tprTplTree.userId, tprTplTree);
     results.then(function(rst) {
         console.log(rst);
         t.pass('just pass!');
@@ -124,9 +124,13 @@ test('测试 - find dummy 报表树 by ObjectId: ', function (t) {
 
 //*
 test('测试 - find dummy 报表树 ', function (t) {
-    let results = rttFacade.findTplTree("598d239605cdd825682925d1", [1], -100);
+    let results = rttFacade.findTplTree("598d239605cdd825682925d1", [1], [-101]);
     results.then(function(rst) {
-        console.log(rst);
+        if (rst) {
+            console.log('no result');
+        } else {
+            console.log(rst);
+        }
         //mongoose.disconnect();
         t.pass('just pass!');
         t.end();