std_fee_rate_libs.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /**
  2. * 费率标准库数据模型
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/8/30
  6. * @version
  7. */
  8. import mongoose from "mongoose";
  9. let Schema = mongoose.Schema;
  10. let collectionName = 'std_fee_rate_libs';
  11. const oprSchema = require('../all_schemas/opr_schema');
  12. let optionSchema = new Schema({
  13. name:String,
  14. value:String,
  15. selected:Boolean
  16. }, {_id: false});
  17. let subRecord = new Schema({
  18. ID:Number,
  19. name:String,
  20. amount: Number,//倍数
  21. value: Number,
  22. }, {_id: false});
  23. let recordSchema = new Schema({
  24. ID:Number,
  25. name:String,
  26. editable:Boolean,
  27. step: Number,//每增加的步数
  28. amount: Number,//倍数
  29. value: Number,
  30. subList:[subRecord],
  31. optionList:[optionSchema]
  32. }, {_id: false});
  33. let valueMapSchema = new Schema({
  34. ID:String,
  35. value:Number
  36. }, {_id: false});
  37. let subFeeRatesSchema = new Schema({
  38. recodes :[recordSchema],
  39. valueMaps:[valueMapSchema],
  40. }, {_id: false});
  41. let ratesSchema = new Schema({
  42. ID: Number,
  43. ParentID: Number,
  44. name: String,
  45. rate: Number,
  46. memo: String,
  47. sum:Boolean,
  48. subFeeRate:subFeeRatesSchema
  49. }, {_id: false});
  50. let modelSchema = {
  51. // 自增id
  52. ID: String,
  53. // 工程所在地
  54. region: String,
  55. // 标准名称
  56. libName: String,
  57. //编办ID
  58. compilationId: {
  59. type: String,
  60. index: true
  61. },
  62. compilationName:String,
  63. // 费率数据
  64. rates: {type:[ratesSchema],default:[]},
  65. creator: String,
  66. createDate: Number,
  67. recentOpr: [oprSchema]
  68. };
  69. mongoose.model(collectionName, new Schema(modelSchema, {versionKey: false, collection: collectionName}));