project.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. const { DataTypes } = require('sequelize');
  2. const connect = require('./connect');
  3. const { isProd } = require('../../config');
  4. /*
  5. type: DataTypes.STRING,
  6. allowNull: false,
  7. defaultValue:'',
  8. comment: '名',
  9. */
  10. function formatTime(m) {
  11. // m.reserves && (m.reserves = JSON.parse(m.reserves));
  12. // m.reservesExtent && (m.reservesExtent = JSON.parse(m.reservesExtent));
  13. // m.reservesResult && (m.reservesResult = JSON.parse(m.reservesResult));
  14. // m.sampleResult && (m.sampleResult = JSON.parse(m.sampleResult));
  15. // m.extra && (m.extra = JSON.parse(m.extra));
  16. // m.adapt && (m.adapt = JSON.parse(m.adapt));
  17. // m.turn && (m.turn = JSON.parse(m.turn));
  18. // m.plant && (m.plant = JSON.parse(m.plant));
  19. // m.landUse && (m.landUse = JSON.parse(m.landUse));
  20. // m.boundary && (m.boundary = JSON.parse(m.boundary));
  21. }
  22. const model = connect.define(
  23. __filename.slice(__dirname.length + 1).replace('.js', ''),
  24. {
  25. id: {
  26. type: DataTypes.INTEGER,
  27. autoIncrement: true,
  28. primaryKey: true,
  29. comment: 'id',
  30. },
  31. name: {
  32. type: DataTypes.STRING,
  33. allowNull: false,
  34. defaultValue: '',
  35. comment: '项目名称',
  36. },
  37. cityId: {
  38. type: DataTypes.INTEGER,
  39. defaultValue: 0,
  40. comment: '城市ID',
  41. },
  42. provinceId: {
  43. type: DataTypes.INTEGER,
  44. defaultValue: 0,
  45. comment: '省ID',
  46. },
  47. regionId: {
  48. type: DataTypes.INTEGER,
  49. defaultValue: 0,
  50. comment: '区域ID',
  51. },
  52. extent: {
  53. type: DataTypes.DECIMAL(12, 2),
  54. defaultValue: 0,
  55. comment: '项目区域面积',
  56. },
  57. sCount: {
  58. type: DataTypes.INTEGER,
  59. defaultValue: 0,
  60. comment: '样地数',
  61. },
  62. conclusion: {
  63. type: DataTypes.STRING,
  64. defaultValue: '',
  65. comment: '结论内容',
  66. },
  67. field: {
  68. type: DataTypes.DECIMAL(12, 2),
  69. defaultValue: 0,
  70. comment: '实地监测碳减量',
  71. },
  72. satellite: {
  73. type: DataTypes.DECIMAL(12, 2),
  74. defaultValue: 0,
  75. comment: '卫星监测碳减量',
  76. },
  77. boundary: {
  78. type: DataTypes.JSON,
  79. comment: '上传项目边界',
  80. },
  81. landUse: {
  82. type: DataTypes.JSON,
  83. comment: '上传土地利用情况',
  84. },
  85. plant: {
  86. type: DataTypes.JSON,
  87. comment: '植物净初级生产力',
  88. },
  89. turn: {
  90. type: DataTypes.JSON,
  91. comment: '碳逆转风险监测',
  92. },
  93. adapt: {
  94. type: DataTypes.JSON,
  95. comment: '适应性条件检查',
  96. },
  97. extra: {
  98. type: DataTypes.JSON,
  99. comment: '额外性论证检查',
  100. },
  101. sampleResult: {
  102. type: DataTypes.JSON,
  103. comment: '样地抽样结果',
  104. },
  105. reservesResult: {
  106. type: DataTypes.JSON,
  107. comment: '碳储量监测结果',
  108. },
  109. contrast: {
  110. type: DataTypes.STRING,
  111. comment: '对比数据上传',
  112. },
  113. reservesExtent: {
  114. type: DataTypes.JSON,
  115. comment: '单位面积碳储量',
  116. },
  117. reserves: {
  118. type: DataTypes.JSON,
  119. comment: '碳储量',
  120. },
  121. },
  122. {
  123. comment: '审定核证机构项目',
  124. hooks: {
  125. beforeFind(option) {
  126. if (!option.order) {
  127. option.order = [['id', 'desc']];
  128. }
  129. },
  130. afterFind(m) {
  131. m && (Array.isArray(m) ? m.forEach(item => formatTime(item)) : formatTime(m));
  132. },
  133. },
  134. }
  135. );
  136. module.exports = model;