fee_rates.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /**
  2. * Created by CSL on 2017-03-29.
  3. */
  4. let mongoose = require('mongoose');
  5. let Schema = mongoose.Schema;
  6. let deleteSchema = require('../all_schemas/delete_schema');
  7. // {ID:1,name:'工程分类',optionList:[{name:'一类工程',value:1,selected:true},{name:'二类工程',value:2,selected:false},{name:'三类工程',value:3,selected:false},{name:'四类工程',value:4,selected:false}]},
  8. let optionSchema = new Schema({
  9. name:String,
  10. value:String,
  11. selected:Boolean
  12. },{versionKey:false,_id: false})
  13. let recordSchema = new Schema({
  14. ID:Number,
  15. name:String,
  16. optionList:[optionSchema]
  17. },{versionKey:false,_id: false})
  18. let valueMapSchema = new Schema({
  19. ID:String,
  20. value:Number
  21. },{versionKey:false,_id: false})
  22. let subFeeRatesSchema = new Schema({
  23. recodes :[recordSchema],
  24. valueMaps:[valueMapSchema],
  25. },{versionKey:false,_id: false});
  26. let ratesSchema = new Schema({
  27. ID: Number,
  28. ParentID: Number,
  29. name: String,
  30. rate: Number,
  31. originalRate: Number,
  32. memo: String,
  33. subFeeRate:subFeeRatesSchema
  34. },{versionKey:false,_id: false});
  35. let feeRatesSchema = new Schema({
  36. ID: {type: String, index: true},
  37. rates: [ratesSchema],
  38. deleteInfo: deleteSchema
  39. },{versionKey:false});
  40. mongoose.model('fee_rates', feeRatesSchema, 'fee_rates');
  41. let feeRateFileSchema = new Schema({
  42. ID: {type: String, index: true},
  43. rootProjectID:Number,//顶层项目ID
  44. userID:String,
  45. name:String,
  46. libID: String,
  47. libName: String,
  48. feeRateID:String,//关联的费率ID
  49. deleteInfo: deleteSchema
  50. },{versionKey:false});
  51. mongoose.model('fee_rate_file', feeRateFileSchema, 'fee_rate_file');
  52. let feeRatesLibSchema = new Schema({
  53. ID: {type: String, index: true},
  54. region: String, // 工程所在地
  55. libName: String,
  56. rates: [ratesSchema]
  57. },{versionKey:false});
  58. mongoose.model('std_fee_rate_libs', feeRatesLibSchema, 'std_fee_rate_libs');