schemas.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /**
  2. * Created by Zhong on 2017/8/22.
  3. */
  4. import mongoose from "mongoose";
  5. let Schema = mongoose.Schema;
  6. //补充工料机的组成物可能来自标准工料机和补充工料机
  7. let comGjlComponentSchema = new Schema(
  8. {
  9. isStd: Boolean, //组成物里的工料机是否是标准的,否则是补充的
  10. ID: Number,
  11. consumeAmt: Number
  12. },
  13. {_id: false},
  14. {versionKey: false}
  15. );
  16. //标准工料机的组成物只来自标准工料机
  17. let stdGjlComponentSchema = new Schema(
  18. {
  19. ID: Number,
  20. consumeAmt: Number
  21. },
  22. {_id: false},
  23. {versionKey: false}
  24. );
  25. //补充工料机跟用户和编办绑定
  26. let complementaryGljSchema = new Schema({
  27. userId: Number,
  28. compilationId: String,
  29. ID: Number,
  30. code: String,
  31. name: String,
  32. specs: String,
  33. unit: String,
  34. basePrice: String,
  35. gljClass: Number,
  36. gljType: Number,
  37. shortName: String,
  38. component: [comGjlComponentSchema]
  39. }, {versionKey: false});
  40. //标准工料机
  41. let stdGljSchema = new Schema({
  42. deleted: Boolean,
  43. repositoryId: Number,
  44. ID: Number,
  45. code: String,
  46. name: String,
  47. specs: String,
  48. basePrice: Number,
  49. gljClass: Number,
  50. gljType: Number,
  51. shortName: String,
  52. unit: String,
  53. component: [stdGjlComponentSchema]
  54. },{versionKey: false});
  55. //标准工料机分类树
  56. let gljClassSchema = mongoose.Schema({
  57. repositoryId: Number,
  58. ID: Number,
  59. ParentID: Number,
  60. NextSiblingID: Number,
  61. Name: String,
  62. deleted: Boolean
  63. }, {versionKey: false});
  64. let complementaryGljModel = mongoose.model('complementary_glj_lib', complementaryGljSchema, 'complementary_glj_lib');
  65. let stdGljModel = mongoose.model('std_glj_lib_gljList', stdGljSchema, 'std_glj_lib_gljList');
  66. let gljClassModel = mongoose.model('std_glj_lib_gljClass', gljClassSchema, 'std_glj_lib_gljClass');
  67. export {complementaryGljModel, stdGljModel, gljClassModel};