Browse Source

reports db connection code sync

TonyKang 8 years ago
parent
commit
4a2fb9b852

+ 3 - 0
modules/main/facade/prj_properties_facade.js

@@ -0,0 +1,3 @@
+/**
+ * Created by Tony on 2017/8/3.
+ */

+ 78 - 0
modules/main/models/prj_properties.js

@@ -0,0 +1,78 @@
+/**
+ * Created by jimiz on 2017/5/19.
+ */
+// var mongoose = require("mongoose");
+// var db = require("../db/project_db");
+// var subSchema = require("./bills_sub_schemas");
+// var Schema = mongoose.Schema;
+// var deleteSchema = require('../../../public/models/delete_schema');
+// var consts = require('./project_consts');
+// var projectConsts = consts.projectConst;
+// var commonConsts = consts.commonConst;
+//
+// var projectPropertiesSchema = new Schema({
+//     ID: Number,
+//     unitPriceFileID: Number,
+//     unitPriceFileVer: Number,
+//     deleteInfo: deleteSchema
+// });
+//
+// var projectProperties = db.model("prj_properties", projectPropertiesSchema, "prj_properties");
+//
+// var projectPropertiesDAO = function(){};
+//
+// projectPropertiesDAO.prototype.getData = function(projectID, callback){
+//     projectProperties.find({'$or': [{ID: projectID, deleteInfo: null}, {ID: projectID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
+//         if (!err) {
+//             callback(0, projectConsts.PROPERTIES, datas);
+//         } else {
+//             callback(1, '', null);
+//         };
+//     });
+// };
+//
+// projectPropertiesDAO.prototype.save = function(datas, callback){
+//     var functions = [];
+//     var data;
+//
+//     function saveOne(data) {
+//         return function (cb) {
+//             switch (data.updateType) {
+//                 case commonConsts.UT_UPDATE:
+//                     projectProperties.update({ID: data.ID}, data, cb);
+//                     break;
+//                 case commonConsts.UT_CREATE:
+//                     projectProperties.create(data, cb);
+//                     break;
+//                 case commonConsts.UT_DELETE:
+//                 /* 假删除
+//                  var item = new GLJ(doc);
+//                  item.remove(cb);
+//                  */
+//             }
+//         }
+//     }
+//     for (var i = 0; i < datas.length; i++){
+//         data = datas[i];
+//         functions.push(saveOne(data));
+//     }
+//
+//     async.parallel(functions, callback);
+// };
+//
+// module.exports = new projectPropertiesDAO();
+
+var mongoose = require('mongoose'),
+    Schema = mongoose.Schema;
+
+var prj_property = new Schema({
+    projectID: Number,
+    items: [
+        {
+            key: String,
+            value: String
+        }
+    ]
+},{versionKey:false});
+
+mongoose.model('prj_properties', prj_property, 'prj_properties');

+ 1 - 1
modules/main/models/project_glj.js

@@ -12,7 +12,7 @@ var projectConsts = consts.projectConst;
 var commonConsts = consts.commonConst;
 var unitPriceFile = require('../../glj/models/unit_price_file');
 var upGLJList = require('../../glj/models/glj_list');
-var projectProperties = require('./project_properties.js')
+var projectProperties = require('./prj_properties.js')
 
 var projectGLJSchema = new Schema({
     ID: Number,

+ 0 - 63
modules/main/models/project_properties.js

@@ -1,63 +0,0 @@
-/**
- * Created by jimiz on 2017/5/19.
- */
-var mongoose = require("mongoose");
-var db = require("../db/project_db");
-var subSchema = require("./bills_sub_schemas");
-var Schema = mongoose.Schema;
-var deleteSchema = require('../../../public/models/delete_schema');
-var consts = require('./project_consts');
-var projectConsts = consts.projectConst;
-var commonConsts = consts.commonConst;
-
-var projectPropertiesSchema = new Schema({
-    ID: Number,
-    unitPriceFileID: Number,
-    unitPriceFileVer: Number,
-    deleteInfo: deleteSchema
-});
-
-var projectProperties = db.model("projectProperties", projectPropertiesSchema, "projectProperties");
-
-var projectPropertiesDAO = function(){};
-
-projectPropertiesDAO.prototype.getData = function(projectID, callback){
-    projectProperties.find({'$or': [{ID: projectID, deleteInfo: null}, {ID: projectID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
-        if (!err) {
-            callback(0, projectConsts.PROPERTIES, datas);
-        } else {
-            callback(1, '', null);
-        };
-    });
-};
-
-projectPropertiesDAO.prototype.save = function(datas, callback){
-    var functions = [];
-    var data;
-
-    function saveOne(data) {
-        return function (cb) {
-            switch (data.updateType) {
-                case commonConsts.UT_UPDATE:
-                    projectProperties.update({ID: data.ID}, data, cb);
-                    break;
-                case commonConsts.UT_CREATE:
-                    projectProperties.create(data, cb);
-                    break;
-                case commonConsts.UT_DELETE:
-                /* 假删除
-                 var item = new GLJ(doc);
-                 item.remove(cb);
-                 */
-            }
-        }
-    }
-    for (var i = 0; i < datas.length; i++){
-        data = datas[i];
-        functions.push(saveOne(data));
-    }
-
-    async.parallel(functions, callback);
-};
-
-module.exports = new projectPropertiesDAO();

+ 3 - 1
modules/reports/controllers/rpt_cfg_controller.js

@@ -2,8 +2,10 @@
  * Created by Tony on 2017/7/5.
  */
 
+let mongoose = require('mongoose');
 let rpt_util = require('../util/rpt_util');
-let Rpt_Map_Fld_Mdl = require('../models/rpt_mapping_field');
+let Rpt_Map_Fld_Mdl = mongoose.model('rpt_mapping_field');
+
 
 //统一回调函数
 let callback = function(req, res, err, message, data){

+ 8 - 4
modules/reports/controllers/rpt_controller.js

@@ -2,11 +2,14 @@
  * Created by Tony on 2017/3/13.
  */
 
+let mongoose = require('mongoose');
+
 let JV = require('../rpt_component/jpc_value_define');
-let Template = require('../models/rpt_template');
-let TemplateData = require('../models/rpt_tpl_data_demo');
+
+let Template = mongoose.model('rpt_templates');
+let demoTemplateData = mongoose.model('rpt_temp_tpl_data');
+
 let JpcEx = require('../rpt_component/jpc_ex');
-//let cache = require('../../../public/cache/cacheUtil');
 let rptUtil = require("../util/rpt_util");
 let rpt_xl_util = require('../util/rpt_excel_util');
 let fs = require('fs');
@@ -29,7 +32,8 @@ function getAllPagesCommon(req, res, rpt_id, pageSize, cb) {
         rptTpl = rst;
         if (rptTpl) {
             if (rptTpl.ID_KEY) {
-                return TemplateData.getPromise(rptTpl.ID_KEY);
+                //return demoTemplateData.getPromise(rptTpl.ID_KEY);
+                return demoTemplateData.findOne({"Data_Key": rptTpl.ID_KEY}).exec();
             } else {
                 callback(req, res, 'No report template data were found!', null);
             }

+ 18 - 3
modules/reports/controllers/rpt_tpl_controller.js

@@ -2,11 +2,14 @@
  * Created by Tony on 2017/6/1.
  */
 
+let mongoose = require('mongoose');
+
 let async = require("async");
 let counter = require('../../../public/counter/counter');
 
-let RptTplModel = require('../models/rpt_template');
-let TreeNodeModel = require('../models/tpl_tree_node');
+let RptTplModel = mongoose.model('rpt_templates');
+let TreeNodeModel = mongoose.model('rpt_tpl_tree');
+
 let rptTplDef = require("../../../public/rpt_tpl_def").getUtil();
 let stringUtil = require("../../../public/stringUtil");
 let JV = require('../rpt_component/jpc_value_define');
@@ -19,6 +22,16 @@ let callback = function(req, res, err, message, data){
 }
 
 module.exports = {
+    getDftTemplates(req, res) {
+        let filter = {"userId": -100, "$or": [{"isDeleted": null}, {"isDeleted": false} ]};
+        TreeNodeModel.find(filter, '-_id', function(err, data){
+            if (err) {
+                callback(req,res, true,"", null);
+            } else {
+                callback(req,res,false,"", data);
+            }
+        });
+    },
     getRptTplTree: function(req, res) {
         let params = JSON.parse(req.body.params),
             grpType = params.grpType,
@@ -34,7 +47,9 @@ module.exports = {
         TreeNodeModel.find(filter, '-_id', function(err, data){
             if (err) {
                 callback(req,res, true,"", null);
-            } else callback(req,res,false,"", data);
+            } else {
+                callback(req,res,false,"", data);
+            }
         });
         // let obj = test_glj_type_util.getStdGljTypeCacheObj();
         // console.log(obj.toArray());

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

@@ -2,8 +2,6 @@
  * Created by Tony on 2017/6/14.
  */
 let mongoose = require('mongoose');
-let dbm = require("../../../config/db/db_manager");
-let smartcostdb = dbm.getCfgConnection("scConstruct");
 let Schema = mongoose.Schema;
 let FormatSchema = new Schema({
     "ID" : String,
@@ -44,6 +42,6 @@ let RptCfgSchema = new Schema({
     "formats" : [FormatSchema]
 });
 
-let Rpt_Cfg_Mdl = smartcostdb.model("rpt_cfg", RptCfgSchema, "rpt_cfg");
+let Rpt_Cfg_Mdl = mongoose.model("rpt_cfg", RptCfgSchema, "rpt_cfg");
 
 module.exports = Rpt_Cfg_Mdl;

+ 1 - 3
modules/reports/models/rpt_mapping_field.js

@@ -2,8 +2,6 @@
  * Created by Tony on 2017/7/11.
  */
 let mongoose = require('mongoose');
-let dbm = require("../../../config/db/db_manager");
-let smartcostdb = dbm.getCfgConnection("scConstruct");
 let MapFieldSchema = new mongoose.Schema({
     "fieldMapGrpName" : String,
     "dispName": String,
@@ -17,6 +15,6 @@ let MapFieldSchema = new mongoose.Schema({
     }]
 });
 
-let Rpt_Map_Field_Mdl = smartcostdb.model("rpt_mapping_field", MapFieldSchema, "rpt_mapping_field");
+let Rpt_Map_Field_Mdl = mongoose.model("rpt_mapping_field", MapFieldSchema, "rpt_mapping_field");
 
 module.exports = Rpt_Map_Field_Mdl;

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

@@ -2,8 +2,6 @@
  * Created by Tony on 2016/12/23.
  */
 let mongoose = require('mongoose');
-let dbm = require("../../../config/db/db_manager");
-let smartcostdb = dbm.getCfgConnection("scConstruct");
 let Schema = mongoose.Schema;
 let RptTemplateSchema = new Schema({
     "ID" : Number,
@@ -20,6 +18,6 @@ let RptTemplateSchema = new Schema({
     "计算式_集合": Array
 });
 
-let Template = smartcostdb.model("rpt_templates", RptTemplateSchema, "rpt_templates");
+let Template = mongoose.model("rpt_templates", RptTemplateSchema, "rpt_templates");
 
 module.exports = Template;

+ 3 - 5
modules/reports/models/rpt_tpl_data.js

@@ -3,8 +3,6 @@
  */
 
 let mongoose = require('mongoose');
-let dbm = require("../../../config/db/db_manager");
-let smartcostdb = dbm.getCfgConnection("scConstruct");
 let Schema = mongoose.Schema;
 
 let rptTplPrjSchema = new Schema({
@@ -26,9 +24,9 @@ let rptTplRationSchema = new Schema({
 
 });
 
-let tplPrjData = smartcostdb.model("temp_tpl_data", rptTplPrjSchema, "projects");
-let tplBillsData = smartcostdb.model("temp_tpl_data", rptTplBillsSchema, "bills");
-let tplRationData = smartcostdb.model("temp_tpl_data", rptTplRationSchema, "ration");
+let tplPrjData = mongoose.model("tpl_data_projects", rptTplPrjSchema, "projects");
+let tplBillsData = mongoose.model("tpl_data_bills", rptTplBillsSchema, "bills");
+let tplRationData = mongoose.model("tpl_data_ration", rptTplRationSchema, "ration");
 
 module.exports = {
     prjMdl: tplPrjData,

+ 22 - 20
modules/reports/models/rpt_tpl_data_demo.js

@@ -2,8 +2,8 @@
  * Created by Tony on 2016/12/28.
  */
 let mongoose = require('mongoose');
-let dbm = require("../../../config/db/db_manager");
-let smartcostdb = dbm.getCfgConnection("scConstruct");
+// let dbm = require("../../../config/db/db_manager");
+// let smartcostdb = dbm.getCfgConnection("scConstruct");
 let Schema = mongoose.Schema;
 let RptTemplateDataSchema = new Schema({
     "Data_Key": String,
@@ -12,23 +12,25 @@ let RptTemplateDataSchema = new Schema({
     "detail_data": Array
 });
 
-let TemplateData = smartcostdb.model("temp_tpl_data", RptTemplateDataSchema, "rpt_temp_tpl_data");
+let TemplateData = mongoose.model("rpt_temp_tpl_data", RptTemplateDataSchema, "rpt_temp_tpl_data");
 
-class RplTplDataDAO{
-    //根据id获取临时数据
-    get(tpl_id, callback){
-        TemplateData.find({"Data_Key": tpl_id}, function(err, templates){
-            if(templates.length){
-                callback(false, templates[0]);
-            }
-            else{
-                callback('查找不到模板临时数据!');
-            }
-        })
-    };
-    getPromise(tpl_id, callback){
-        return TemplateData.findOne({"Data_Key": tpl_id}).exec();
-    }
-};
+// class RplTplDataDAO{
+//     //根据id获取临时数据
+//     get(tpl_id, callback){
+//         TemplateData.find({"Data_Key": tpl_id}, function(err, templates){
+//             if(templates.length){
+//                 callback(false, templates[0]);
+//             }
+//             else{
+//                 callback('查找不到模板临时数据!');
+//             }
+//         })
+//     };
+//     getPromise(tpl_id, callback){
+//         return TemplateData.findOne({"Data_Key": tpl_id}).exec();
+//     }
+// };
+//
+// module.exports = new RplTplDataDAO();
 
-module.exports = new RplTplDataDAO();
+module.exports = TemplateData;

+ 9 - 10
modules/reports/models/tpl_tree_node.js

@@ -1,23 +1,22 @@
 /**
  * Created by Tony on 2017/5/31.
  */
-var mongoose = require('mongoose');
-var dbm = require("../../../config/db/db_manager");
-var db = dbm.getCfgConnection("scConstruct");
-var Schema = mongoose.Schema;
-var TreeNodeSchema = new Schema({
+let mongoose = require('mongoose');
+let Schema = mongoose.Schema;
+let TreeNodeSchema = new Schema({
     ID:Number,
     ParentID:Number,
     NextSiblingID:Number,
-    grpType: Number, //建筑(const : 1)/公路(const 2)/其他 etc...
-    nodeType: Number,//节点类型:树节点(枝) 或 模板节点(叶)
-    tplType: Number, //概算、预算、招投标 etc...
+    grpType: Number,  //建筑(const : 1)/公路(const 2)/其他 etc...
+    nodeType: Number, //节点类型:树节点(枝) 或 模板节点(叶)
+    tplType: Number,  //概算、预算、招投标 etc...
     userId: String,   //用户自定义模板用
-    refId: Number,   //
+    refId: Number,    //引用报表模板id (引用 collection: rpt_templates)
+    released: Boolean,//是否已发布, refId > -1 时才有意义
     name: String,
     isDeleted: Boolean
 });
 
-var TreeNodeModel = db.model("rpt_tpl_tree", TreeNodeSchema, "rpt_tpl_tree");
+let TreeNodeModel = mongoose.model("rpt_tpl_tree", TreeNodeSchema, "rpt_tpl_tree");
 
 module.exports = TreeNodeModel;

+ 5 - 1
modules/reports/util/rpt_util.js

@@ -1,8 +1,12 @@
 /**
  * Created by Tony on 2017/3/24.
  */
+let mongoose = require('mongoose');
+//let rpt_cfg_mdl = mongoose.model('rpt_cfg');
+
 let cache = require('../../../public/cache/cacheUtil');
-let Rpt_Cfg_Mdl = require('../models/rpt_cfg');
+//let Rpt_Cfg_Mdl = require('../models/rpt_cfg');
+let Rpt_Cfg_Mdl = mongoose.model('rpt_cfg');
 
 const RPT_CFG_GRP = 'rpt_cfg';
 

+ 9 - 3
server.js

@@ -5,9 +5,6 @@ let fileUtils = require("./modules/common/fileUtils");
 let dbm = require("./config/db/db_manager");
 //config.setToLocalDb();
 config.setToQaDb();
-//config.setupCache();
-let cfgCacheUtil = require("./config/cacheCfg");
-cfgCacheUtil.setupDftCache();
 
 let path = require('path');
 let session = require('express-session');
@@ -22,6 +19,15 @@ fileUtils.getGlobbedFiles('./modules/ration_glj/models/*.js').forEach(function(m
     require(path.resolve(modelPath));
 })
 
+//引入报表模块
+fileUtils.getGlobbedFiles('./modules/reports/models/*.js').forEach(function(modelPath) {
+    require(path.resolve(modelPath));
+})
+
+//config.setupCache();
+let cfgCacheUtil = require("./config/cacheCfg");
+cfgCacheUtil.setupDftCache();
+
 let app = express();
 let _rootDir = __dirname;
 app.use(express.static(_rootDir));

+ 23 - 0
test/demo/JSONtest.js

@@ -0,0 +1,23 @@
+/**
+ * Created by Tony on 2017/8/3.
+ */
+let test = require('tape');
+
+
+test('JSON引用测试', function(t){
+    let testData = {
+        name: "hello!",
+        items: [
+            {key: "key1", value: "value1"},
+            {key: "key2", value: "value2"},
+            {key: "key3", value: "value3"}
+        ]
+    }
+    for (let item of testData.items) {
+        testData[item.key] = item;
+        item.value += "_change!";
+    }
+    console.log(JSON.stringify(testData));
+    t.pass('just logging and pass!');
+    t.end();
+})