| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | /** * 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();let mongoose = require('mongoose');let propertyDetailSchema = new mongoose.Schema({    key: String,    dispName: String,    value: String});let prj_property = new mongoose.Schema({    projectID: Number,    properties: Array  //原则上是应该设置好对象的属性,但在实际应用中发现mongoose保存的时候会自动增加objectId(_id)字段,无语。。。    // properties: [{    //     key: String,    //     dispName: String,    //     value: String    // }]}, {versionKey: false});//预储存的项目属性,在项目创建的时候copy一份到项目中let cfg_property = new mongoose.Schema({    rationLibID: Number,      //这个对应标准定额库ID    descr: String,      //描述    properties: [propertyDetailSchema]}, {versionKey: false});let prj_prop_mdl = mongoose.model('project_property', prj_property, 'prj_properties');let std_prj_prop_mdl = mongoose.model('cfg_prj_property', cfg_property, 'std_cfg_prj_properties');module.exports = {    prj_prop_mdl: prj_prop_mdl,    std_prj_prop_mdl: std_prj_prop_mdl};
 |