calc_program_model.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * Created by CSL on 2017-10-22.
  3. */
  4. let mongoose = require('mongoose');
  5. let Schema = mongoose.Schema;
  6. let calcItemSchema = new Schema({
  7. ID: Number,
  8. code: String,
  9. name: String,
  10. fieldName: String,
  11. dispExpr: String,
  12. dispExprUser: String,
  13. expression: String,
  14. compiledExpr: String,
  15. statement: String,
  16. feeRateID: Number,
  17. feeRate: String,
  18. labourCoeID: Number,
  19. memo: String,
  20. custom: Boolean
  21. },{versionKey:false, _id: false});
  22. let templateSchema = new Schema({
  23. ID: Number,
  24. name: String,
  25. calcItems: [calcItemSchema],
  26. custom: Boolean
  27. },{versionKey:false, _id: false});
  28. let stdCalcPrograms = new Schema({
  29. ID: Number,
  30. region: String,
  31. libName: String,
  32. templates: [templateSchema]
  33. },{versionKey:false, _id: false});
  34. let projectCalcPrograms = new Schema({
  35. ID: String,
  36. projectID: {type: Number, index: true},
  37. name: String,
  38. libID: Number,
  39. libName: String,
  40. templates: [templateSchema]
  41. },{versionKey:false});
  42. mongoose.model('std_calc_programs', stdCalcPrograms, 'std_calc_programs');
  43. mongoose.model('calc_programs', projectCalcPrograms, 'calc_programs');