project_controller.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. /**
  2. * Created by jimiz on 2017/4/16.
  3. */
  4. var Project = require('../models/project');
  5. let logger = require('../../../logs/log_helper').logger;
  6. let project_facade = require("../facade/project_facade");
  7. const redirectToImportServer = require('../../pm/controllers/pm_controller').redirectToImportServer;
  8. //统一回调函数
  9. var callback = function(req, res, err, message, data){
  10. res.json({error: err, message: message, data: data});
  11. };
  12. module.exports = {
  13. save: function (req, res) {
  14. if(typeof req.body.data === 'object'){
  15. req.body.data = JSON.stringify(req.body.data);
  16. }
  17. var data = JSON.parse(req.body.data);
  18. Project.save(data, function (err, message, result) {
  19. if (err) {
  20. logger.err(err);
  21. callback(req, res, err, message, null);
  22. } else {
  23. callback(req, res, err, message, result);
  24. }
  25. });
  26. },
  27. getData: function (req, res) {
  28. //add
  29. console.log(`------------------------------------------`);
  30. console.log(`${req.session.sessionUser.real_name}--id:${req.session.sessionUser.id}--取getdata数据`);
  31. console.log(`------------------------------------------`);
  32. //add
  33. if(typeof req.body.data === 'object'){
  34. req.body.data = JSON.stringify(req.body.data);
  35. }
  36. var data = JSON.parse(req.body.data);
  37. // 注释代码用于测试getFilterData
  38. // Project.getFilterData(data.project_id, ['bills', 'projectGLJ'], function (err, result) {
  39. // console.log(result);
  40. // });
  41. Project.getData(data.project_id, function (err, message, result) {
  42. if (!err) {
  43. callback(req, res, err, message, result);
  44. } else {
  45. callback(req, res, err, message, null);
  46. }
  47. });
  48. },
  49. getDataForInterface: async function (req, res) {
  50. const data = JSON.parse(req.body.data);
  51. let result={
  52. error:0
  53. };
  54. try {
  55. result = await redirectToImportServer(data,"getDataForInterface",req);
  56. } catch (err) {
  57. console.log(err);
  58. result.error=1;
  59. result.message = err.message;
  60. }
  61. res.json(result);
  62. },
  63. markUpdateProject:async function (req,res) {
  64. let result={
  65. error:0
  66. }
  67. try {
  68. let data = req.body.data;
  69. data = JSON.parse(data);
  70. let resultData= await project_facade.markUpdateProject(data.updateInfo,data.type);
  71. result.data=resultData;
  72. }catch (err){
  73. logger.err(err);
  74. result.error=1;
  75. result.message = err.message;
  76. }
  77. res.json(result);
  78. },
  79. removeProjectMark:async function(req,res){
  80. let result={
  81. error:0
  82. }
  83. try {
  84. let data = req.body.data;
  85. data = JSON.parse(data);
  86. let resultData= await project_facade.removeProjectMark(data.projectID);
  87. result.data=resultData;
  88. }catch (err){
  89. logger.err(err);
  90. result.error=1;
  91. result.message = err.message;
  92. }
  93. res.json(result);
  94. },
  95. updateNodes:async function (req,res) {
  96. /* var data = JSON.parse(req.body.data);
  97. project_facade.updateNodes(data, function (err, message, result) {
  98. if (err) {
  99. logger.err(err);
  100. callback(req, res, err, message, null);
  101. } else {
  102. callback(req, res, err, message, result);
  103. }
  104. });*/
  105. let result={
  106. error:0
  107. }
  108. try {
  109. let data = req.body.data;
  110. if(typeof data === 'object'){
  111. data = JSON.stringify(data);
  112. }
  113. data = JSON.parse(data);
  114. let resultData= await project_facade.updateNodes(data);
  115. result.data=resultData;
  116. }catch (err){
  117. logger.err(err);
  118. result.error=1;
  119. result.message = err.message;
  120. }
  121. res.json(result);
  122. },
  123. calcInstallationFee:async function(req,res){
  124. let result={
  125. error:0
  126. }
  127. try {
  128. let data = JSON.parse(req.body.data);
  129. let resultData= await project_facade.calcInstallationFee(data);
  130. result.data=resultData;
  131. }catch (err){
  132. logger.err(err);
  133. result.error=1;
  134. result.message = err.message;
  135. }
  136. res.json(result);
  137. },
  138. async calcOverHeightFee (req, res) {
  139. try {
  140. const data = JSON.parse(req.body.data);
  141. const rst = await project_facade.calcOverHeightFee(data);
  142. res.json({ error: 0, data: rst, message: 'success' });
  143. } catch (err) {
  144. console.log(err);
  145. res.json({ error: 1, data: null, message: err.message });
  146. }
  147. },
  148. saveProperty: function(req, res){
  149. let result = {error: 0, message: '', data: null};
  150. let data = JSON.parse(req.body.data);
  151. project_facade.saveProperty(data, function (err, data) {
  152. if (err == ''){
  153. result.data = data;
  154. }else{
  155. result.error = 1;
  156. result.message = err;
  157. }
  158. res.json(result);
  159. })
  160. },
  161. getDefaultColSetting: async function(req, res){
  162. let data = JSON.parse(req.body.data);
  163. let result={
  164. error: 0,
  165. data: null
  166. };
  167. try{
  168. result.data = await project_facade.getDefaultColSetting(data.libID);
  169. }
  170. catch(err){
  171. logger.err(err);
  172. result.error=1;
  173. result.message = err.message;
  174. }
  175. res.json(result);
  176. },
  177. getSEIProjects:async function(req,res){
  178. let data = JSON.parse(req.body.data);
  179. let result={
  180. error: 0,
  181. data: null
  182. };
  183. try{
  184. result.data = await project_facade.getSEIProjects(data.projectID);
  185. }
  186. catch(err){
  187. logger.err(err);
  188. result.error=1;
  189. result.message = err.message;
  190. }
  191. res.json(result);
  192. },
  193. loadSEIProjectData:async function(req,res){
  194. const data = JSON.parse(req.body.data);
  195. let result={
  196. error:0
  197. };
  198. try {
  199. result = await redirectToImportServer(data,"loadSEIProjectData",req);
  200. } catch (err) {
  201. console.log(err);
  202. result.error=1;
  203. result.message = err.message;
  204. }
  205. res.json(result);
  206. }
  207. };