ration_controller.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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);
  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. //统一回调函数
  43. let callback = function(req, res, err, message, data){
  44. res.json({error: err, message: message, data: data});
  45. };
  46. module.exports = {
  47. getData: function(req, res){
  48. var data = JSON.parse(req.body.data);
  49. rationData.getData(data.projectId, function(err, message, rationList){
  50. if (err === 0) {
  51. callback(req, res, err, message, rationList);
  52. } else {
  53. callback(req, res, err, message, null);
  54. }
  55. });
  56. },
  57. getItemTemplate: function(req, res){
  58. //var data = JSON.parse(req.body.data);
  59. rationData.getItemTemplate(function(err, message, rationItem){
  60. if (billsItem) {
  61. callback(req, res, err, message, rationItem);
  62. } else {
  63. callback(req, res, err, message, null);
  64. }
  65. });
  66. },
  67. allocIDs: function(req, res){
  68. rationData.allocIDs(function(err, message, data){
  69. if (err) {
  70. callback(req, res, err, message, data);
  71. } else {
  72. callback(req, res, err, message, null);
  73. }
  74. });
  75. },
  76. action:async function(req,res){//自动跳转到URL对应的controller方法
  77. let result={
  78. error:0
  79. }
  80. try {
  81. let functionName = req.url.replace(/\//g,"");
  82. result.data = controller[functionName]?await controller[functionName](req):"";
  83. }catch (err){
  84. logger.err(err);
  85. result.error=1;
  86. result.message = err.message;
  87. }
  88. res.json(result);
  89. }
  90. };