gljController.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /**
  2. * Created by Zhong on 2017/8/22.
  3. */
  4. import BaseController from "../../common/base/base_controller";
  5. import stdgljutil from "../../../public/cache/std_glj_type_util";
  6. import GljDao from "../models/gljModel";
  7. import EngineeringLibModel from "../../users/models/engineering_lib_model";
  8. let gljDao = new GljDao();
  9. let callback = function(req, res, err, message, data){
  10. res.json({error: err, message: message, data: data});
  11. };
  12. class GljController extends BaseController{
  13. async redirectGlj(req, res){
  14. let gljLibId = null, engineeringId, sessionCompilation = req.session.sessionCompilation,
  15. rationValuation = sessionCompilation.ration_valuation,
  16. billValuation = sessionCompilation.bill_valuation,
  17. engineeringLibModel = new EngineeringLibModel(),
  18. valuationIDs = [] ;
  19. for(let r of rationValuation){//{ "glj_lib.0": {$exists:1} }
  20. if(r.id){
  21. valuationIDs.push(r.id);
  22. }
  23. }
  24. for(let b of billValuation){
  25. if(b.id){
  26. valuationIDs.push(b.id);
  27. }
  28. }
  29. if(valuationIDs.length > 0){
  30. let engineeringInfo = await engineeringLibModel.findDataByCondition({'valuationID': {"$in": valuationIDs},"glj_lib.0": {$exists:1}});//数组大于0
  31. gljLibId = engineeringInfo.glj_lib.length > 0 && typeof engineeringInfo.glj_lib !== 'undefined' ? engineeringInfo.glj_lib[0].id : null;
  32. }
  33. res.render('building_saas/complementary_glj_lib/html/tools-gongliaoji.html',{
  34. userID: req.session.sessionUser.id,
  35. gljLibId: gljLibId,
  36. compilationId: sessionCompilation._id,
  37. versionName: req.session.sessionCompilation.name + '免费版'
  38. });
  39. }
  40. getGljDistType (req, res) {
  41. let gljDistTypeCache = stdgljutil.getStdGljTypeCacheObj().toArray();
  42. if(gljDistTypeCache.length >0 ){
  43. callback(req, res, 0, '', gljDistTypeCache);
  44. }
  45. else {
  46. callback(req, res, 1, 'Error', null);
  47. }
  48. }
  49. getGljTree(req,res){
  50. let data = JSON.parse(req.body.data);
  51. let gljLibId = data.gljLibId;
  52. gljDao.getGljTypes(gljLibId,function(err,data){
  53. callback(req,res,err, 'Get Tree', data)
  54. });
  55. }
  56. createNewGljTypeNode(req, res) {
  57. let repId = req.body.repositoryId;
  58. let lastNodeId = req.body.lastNodeId;
  59. let lastOpr = req.body.lastOpr;
  60. let nodeData = JSON.parse(req.body.rawNodeData);
  61. gljDao.createNewNode(repId, lastOpr, lastNodeId, nodeData, function(err, msg, data){
  62. callback(req,res,err,msg, data)
  63. });
  64. }
  65. updateGljNodes(req, res) {
  66. let nodes = JSON.parse(req.body.nodes);
  67. let repId = req.body.repId,
  68. lastOpr = req.body.lastOpr;
  69. gljDao.updateNodes(repId, lastOpr, nodes, function(err,results){
  70. callback(req,res, err, results)
  71. });
  72. }
  73. deleteGljNodes(req, res) {
  74. let nodes = JSON.parse(req.body.nodes);
  75. let preNodeId = req.body.preNodeId;
  76. let preNodeNextId = req.body.preNodeNextId;
  77. let repId = req.body.repId, lastOpr = req.body.lastOpr;
  78. gljDao.removeNodes(repId, lastOpr, nodes, preNodeId, preNodeNextId, function(err,results){
  79. callback(req,res, err, results)
  80. });
  81. }
  82. getGljItems(req, res) {
  83. let data = JSON.parse(req.body.data);
  84. let stdGljLibId = data.stdGljLibId,
  85. userId = data.userId,
  86. compilationId = data.compilationId
  87. gljDao.getGljItems(stdGljLibId, req.session.sessionUser.id, req.session.sessionCompilation._id, function(err, data){
  88. callback(req,res,err,'Get Items',data)
  89. });
  90. }
  91. updateComponent(req, res){
  92. let userId = req.body.userId;
  93. let updateArr = JSON.parse(req.body.updateArr);
  94. gljDao.updateComponent(userId, updateArr, function (err, message, rst) {
  95. callback(req, res, err, message, rst);
  96. })
  97. }
  98. mixUpdateGljItems(req, res){
  99. let user_id = req.session.sessionUser.id,
  100. compilation_id = req.session.sessionCompilation._id;
  101. let data = JSON.parse(req.body.data);
  102. let updateItems = data.updateItems,
  103. addItems = data.addItems,
  104. removeIds = data.removeIds;
  105. gljDao.mixUpdateGljItems(user_id, compilation_id, updateItems, addItems, removeIds, function(err, message, rst){
  106. if (err) {
  107. callback(req, res, err, message, null);
  108. } else {
  109. callback(req, res, 0, message, rst);
  110. }
  111. });
  112. }
  113. }
  114. export default GljController;