calc_program_model.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. },{versionKey:false, _id: false});
  20. let templateSchema = new Schema({
  21. ID: Number,
  22. name: String,
  23. calcItems: [calcItemSchema]
  24. },{versionKey:false, _id: false});
  25. let stdCalcPrograms = new Schema({
  26. ID: Number,
  27. region: String,
  28. libName: String,
  29. templates: [templateSchema]
  30. },{versionKey:false, _id: false});
  31. let projectCalcPrograms = new Schema({
  32. ID: String,
  33. projectID: Number,
  34. name: String,
  35. libID: Number,
  36. libName: String,
  37. templates: [templateSchema]
  38. },{versionKey:false});
  39. mongoose.model('std_calc_programs', stdCalcPrograms, 'std_calc_programs');
  40. mongoose.model('calc_programs', projectCalcPrograms, 'calc_programs');