calc_program_model.js 1.0 KB

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