optionsController.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /**
  2. * Created by Zhong on 2017/9/28.
  3. */
  4. const BaseController = require('../../common/base/base_controller');
  5. const OptionsDao = require('../models/optionsModel');
  6. const optionSetting = require('../models/optionTypes');
  7. let optionsDao = new OptionsDao();
  8. class OptionController extends BaseController {
  9. //获得所有选项类型的选项
  10. async getOptions(req, res){
  11. let resJson = {error: 0, message: '', data: []};
  12. let user_id = req.session.sessionUser.id,
  13. compilation_id = req.session.sessionCompilation._id;
  14. try{
  15. resJson.data = await optionsDao.getOptions(user_id, compilation_id);
  16. if(!resJson.data){
  17. resJson.data = await optionsDao.saveOptions(user_id, compilation_id, optionSetting);
  18. }
  19. }
  20. catch (err){
  21. resJson.error = true;
  22. resJson.message = '获取失败';
  23. resJson.data = null;
  24. }
  25. res.json(resJson);
  26. }
  27. //获得特定选项类型的选项
  28. async getOptionsByType(req, res){
  29. let resJson = {error: null, message: '', data: null};
  30. let user_id = req.session.sessionUser.id,
  31. compilation_id = req.session.sessionCompilation._id,
  32. optsType = req.body.optsType;
  33. try{
  34. resJson.data = await optionsDao.getOptionsByType(user_id, compilation_id, optsType);
  35. }
  36. catch (err){
  37. resJson.error = true;
  38. resJson.message = '获取失败';
  39. resJson.data = null;
  40. }
  41. res.json(resJson);
  42. }
  43. async saveOptions(req, res){
  44. let resJson = {error: 0, message: '', data: null};
  45. let data = JSON.parse(req.body.data);
  46. let user_id = req.session.sessionUser.id,
  47. compilation_id = req.session.sessionCompilation._id,
  48. optSetting = data.optSetting;
  49. try{
  50. resJson.data = await optionsDao.saveOptions(user_id, compilation_id, optSetting);
  51. }
  52. catch (err){
  53. resJson.error = true;
  54. resJson.message = '保存失败';
  55. resJson.data = null;
  56. }
  57. res.json(resJson);
  58. }
  59. }
  60. /*class OptionController extends BaseController {
  61. //获得所有选项类型的选项
  62. async getOptions(req, res){
  63. let resJson = {error: 0, message: '', data: []};
  64. let user_id = req.session.sessionUser.id,
  65. compilation_id = req.session.sessionCompilation._id;
  66. let defaultOpts = {
  67. GENERALOPTS: {
  68. rationQuanACToBillsQuan: true,//自动根据清单工程量填写定额工程量
  69. rationQuanACToRationUnit: true//自动根据定额单位转换定额工程量
  70. }
  71. };
  72. try{
  73. resJson.data = await optionsDao.getOptions(user_id, compilation_id);
  74. if(!resJson.data){
  75. resJson.data = await optionsDao.saveOptions(user_id, compilation_id, optionsTypes.GENERALOPTS, defaultOpts.GENERALOPTS);
  76. }
  77. }
  78. catch (err){
  79. resJson.error = true;
  80. resJson.message = '获取失败';
  81. resJson.data = null;
  82. }
  83. res.json(resJson);
  84. }
  85. //获得特定选项类型的选项
  86. async getOptionsByType(req, res){
  87. let resJson = {error: null, message: '', data: null};
  88. let user_id = req.session.sessionUser.id,
  89. compilation_id = req.session.sessionCompilation._id,
  90. optsType = req.body.optsType;
  91. try{
  92. let hasThisOpts = false;
  93. for(let i in optionsTypes){
  94. if(optionsTypes[i] === optsType){
  95. hasThisOpts = true;
  96. break;
  97. }
  98. }
  99. if(!hasThisOpts) throw '不存在此选项类';
  100. resJson.data = await optionsDao.getOptionsByType(user_id, compilation_id, optsType);
  101. }
  102. catch (err){
  103. resJson.error = true;
  104. resJson.message = '获取失败';
  105. resJson.data = null;
  106. }
  107. res.json(resJson);
  108. }
  109. async saveOptions(req, res){
  110. let resJson = {error: 0, message: '', data: null};
  111. let data = JSON.parse(req.body.data);
  112. let user_id = req.session.sessionUser.id,
  113. compilation_id = req.session.sessionCompilation._id,
  114. optsType = data.optsType,
  115. opts = data.opts;
  116. try{
  117. let hasThisOpts = false;
  118. for(let i in optionsTypes){
  119. if(optionsTypes[i] == optsType){
  120. hasThisOpts = true;
  121. break;
  122. }
  123. }
  124. if(!hasThisOpts) throw '不存在此选项类';
  125. resJson.data = await optionsDao.saveOptions(user_id, compilation_id, optsType, opts);
  126. }
  127. catch (err){
  128. resJson.error = true;
  129. resJson.message = '保存失败';
  130. resJson.data = null;
  131. }
  132. res.json(resJson);
  133. }
  134. }*/
  135. module.exports = OptionController;