| 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
 
- };
 
 
  |