std_fee_rate_libs.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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 recordSchema = new Schema({
  18. ID:Number,
  19. name:String,
  20. optionList:[optionSchema]
  21. }, {_id: false});
  22. let valueMapSchema = new Schema({
  23. ID:String,
  24. value:Number
  25. }, {_id: false});
  26. let subFeeRatesSchema = new Schema({
  27. recodes :[recordSchema],
  28. valueMaps:[valueMapSchema],
  29. }, {_id: false});
  30. let ratesSchema = new Schema({
  31. ID: Number,
  32. ParentID: Number,
  33. name: String,
  34. rate: Number,
  35. memo: String,
  36. subFeeRate:subFeeRatesSchema
  37. }, {_id: false});
  38. let modelSchema = {
  39. // 自增id
  40. ID: String,
  41. // 工程所在地
  42. region: String,
  43. // 标准名称
  44. libName: String,
  45. //编办ID
  46. compilationId: {
  47. type: String,
  48. index: true
  49. },
  50. compilationName:String,
  51. // 费率数据
  52. rates: {type:[ratesSchema],default:[]},
  53. creator: String,
  54. createDate: Number,
  55. recentOpr: [oprSchema]
  56. };
  57. mongoose.model(collectionName, new Schema(modelSchema, {versionKey: false, collection: collectionName}));