fee_rates.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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 subRecord = new Schema({
  14. ID:Number,
  15. name:String,
  16. amount: Number,//倍数
  17. value: Number,
  18. }, {_id: false});
  19. let recordSchema = new Schema({
  20. ID:Number,
  21. name:String,
  22. editable:Boolean,
  23. step: Number,//每增加的步数
  24. amount: Number,//倍数
  25. value: Number,
  26. subList:[subRecord],
  27. optionList:[optionSchema]
  28. },{versionKey:false,_id: false})
  29. let valueMapSchema = new Schema({
  30. ID:String,
  31. value:Number
  32. },{versionKey:false,_id: false})
  33. let subFeeRatesSchema = new Schema({
  34. recodes :[recordSchema],
  35. valueMaps:[valueMapSchema],
  36. },{versionKey:false,_id: false});
  37. let ratesSchema = new Schema({
  38. ID: Number,
  39. ParentID: Number,
  40. name: String,
  41. originalRate: Number,
  42. rate: Number,
  43. memo: String,
  44. sum:Boolean,
  45. subFeeRate:subFeeRatesSchema
  46. },{versionKey:false,_id: false});
  47. let feeRatesSchema = new Schema({
  48. ID: {type: String, index: true},
  49. rates: [ratesSchema],
  50. deleteInfo: deleteSchema
  51. },{versionKey:false});
  52. mongoose.model('fee_rates', feeRatesSchema, 'fee_rates');
  53. let feeRateFileSchema = new Schema({
  54. ID: {type: String, index: true},
  55. rootProjectID:Number,//顶层项目ID
  56. userID:String,
  57. name:String,
  58. libID: String,
  59. libName: String,
  60. feeRateID:String,//关联的费率ID
  61. deleteInfo: deleteSchema
  62. },{versionKey:false});
  63. mongoose.model('fee_rate_file', feeRateFileSchema, 'fee_rate_file');
  64. let feeRatesLibSchema = new Schema({
  65. ID: {type: String, index: true},
  66. region: String, // 工程所在地
  67. libName: String,
  68. rates: [ratesSchema]
  69. },{versionKey:false});
  70. mongoose.model('std_fee_rate_libs', feeRatesLibSchema, 'std_fee_rate_libs');