ration_controller.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. /**
  2. * Created by jimiz on 2017/4/9.
  3. */
  4. var rationData = require('../models/ration');
  5. var ration_glj_facade = require('../../ration_glj/facade/ration_glj_facade');
  6. var ration_facade = require('../facade/ration_facade');
  7. let logger = require("../../../logs/log_helper").logger;
  8. let controller = {
  9. insertGLJAsRation:async function (req){
  10. let data = req.body.data;
  11. data = JSON.parse(data);
  12. return await ration_glj_facade.insertGLJAsRation(data,req.session.sessionCompilation);
  13. },
  14. replaceRations:async function (req) {
  15. let data = req.body.data;
  16. data = JSON.parse(data);
  17. let userID = req.session.sessionUser.id;
  18. return await ration_facade.replaceRations(userID,data,req.session.sessionCompilation);
  19. },
  20. addNewRation:async function(req) {
  21. let data = req.body.data;
  22. if(typeof data === 'object'){
  23. data = JSON.stringify(data);
  24. }
  25. data = JSON.parse(data);
  26. return await ration_facade.addNewRation(data,req.session.sessionCompilation);
  27. },
  28. addMultiRation: async function (req) {
  29. let data = req.body.data;
  30. if(typeof data === 'object'){
  31. data = JSON.stringify(data);
  32. }
  33. data = JSON.parse(data);
  34. return await ration_facade.addMultiRation(data.newDatas,req.session.sessionCompilation);
  35. },
  36. getSameSectionRations:async function(req){//取同个章节相邻的定额
  37. let data = req.body.data;
  38. data = JSON.parse(data);
  39. return await ration_facade.getSameSectionRations(data,req.session.sessionUser.id, req.session.sessionCompilation._id);
  40. },
  41. //取定额默认的取费专业
  42. getDefaultProgramID:async function(req){
  43. let data = req.body.data;
  44. data = JSON.parse(data);
  45. data.userID = req.session.sessionUser.id;
  46. data.compilationId = req.session.sessionCompilation._id;
  47. return await ration_facade.getDefaultProgramID(data);
  48. }
  49. };
  50. //统一回调函数
  51. let callback = function(req, res, err, message, data){
  52. res.json({error: err, message: message, data: data});
  53. };
  54. module.exports = {
  55. getData: function(req, res){
  56. var data = JSON.parse(req.body.data);
  57. rationData.getData(data.projectId, function(err, message, rationList){
  58. if (err === 0) {
  59. callback(req, res, err, message, rationList);
  60. } else {
  61. callback(req, res, err, message, null);
  62. }
  63. });
  64. },
  65. getItemTemplate: function(req, res){
  66. //var data = JSON.parse(req.body.data);
  67. rationData.getItemTemplate(function(err, message, rationItem){
  68. if (billsItem) {
  69. callback(req, res, err, message, rationItem);
  70. } else {
  71. callback(req, res, err, message, null);
  72. }
  73. });
  74. },
  75. allocIDs: function(req, res){
  76. rationData.allocIDs(function(err, message, data){
  77. if (err) {
  78. callback(req, res, err, message, data);
  79. } else {
  80. callback(req, res, err, message, null);
  81. }
  82. });
  83. },
  84. action:async function(req,res){//自动跳转到URL对应的controller方法
  85. let result={
  86. error:0
  87. }
  88. try {
  89. let functionName = req.url.replace(/\//g,"");
  90. result.data = controller[functionName]?await controller[functionName](req):"";
  91. }catch (err){
  92. logger.err(err);
  93. result.error=1;
  94. result.message = err.message;
  95. }
  96. res.json(result);
  97. }
  98. };