schemas.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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: String
  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. adjCoe: Number,
  54. component: [stdGjlComponentSchema]
  55. },{versionKey: false});
  56. //标准工料机分类树
  57. let gljClassSchema = mongoose.Schema({
  58. repositoryId: Number,
  59. ID: Number,
  60. ParentID: Number,
  61. NextSiblingID: Number,
  62. Name: String,
  63. deleted: Boolean
  64. }, {versionKey: false});
  65. let complementaryGljModel = mongoose.model('complementary_glj_lib', complementaryGljSchema, 'complementary_glj_lib');
  66. let stdGljModel = mongoose.model('std_glj_lib_gljList', stdGljSchema, 'std_glj_lib_gljList');
  67. let gljClassModel = mongoose.model('std_glj_lib_gljClass', gljClassSchema, 'std_glj_lib_gljClass');
  68. export {complementaryGljModel, stdGljModel, gljClassModel};