compleViewController.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /**
  2. * Created by Zhong on 2017/12/22.
  3. */
  4. import BaseController from '../../common/base/base_controller';
  5. import CompleViewModel from '../models/compleViewModel';
  6. import EngineeringLibModel from "../../users/models/engineering_lib_model";
  7. let config = require("../../../config/config.js");
  8. let compleViewModel = new CompleViewModel();
  9. let callback = function (req, res, err, msg, data) {
  10. res.json({error: err, message: msg, data: data});
  11. };
  12. async function getGljLibId(sessionCompilation) {
  13. let gljLibId = null,
  14. rationValuation = sessionCompilation.ration_valuation,
  15. billValuation = sessionCompilation.bill_valuation,
  16. engineeringLibModel = new EngineeringLibModel(),
  17. valuationIDs = [] ;
  18. for(let r of rationValuation){//{ "glj_lib.0": {$exists:1} }
  19. if(r.id){
  20. valuationIDs.push(r.id);
  21. }
  22. }
  23. for(let b of billValuation){
  24. if(b.id){
  25. valuationIDs.push(b.id);
  26. }
  27. }
  28. if(valuationIDs.length > 0){
  29. let engineeringInfo = await engineeringLibModel.findDataByCondition({'valuationID': {"$in": valuationIDs},"glj_lib.0": {$exists:1}});//数组大于0
  30. gljLibId = engineeringInfo.glj_lib.length > 0 && typeof engineeringInfo.glj_lib !== 'undefined' ? engineeringInfo.glj_lib[0].id : null;
  31. }
  32. return gljLibId;
  33. }
  34. class CompleViewController extends BaseController{
  35. async redirectRation(req, res){
  36. const gljLibId = await getGljLibId(req.session.sessionCompilation);
  37. const redirectGlj = `/complementaryRation/glj`;
  38. const redirectCoe = `/complementaryRation/coe`;
  39. const redirectInstallation = `/complementaryRation/installation`;
  40. res.render('building_saas/complementary_ration_lib/html/dinge.html', {
  41. userID: req.session.sessionUser.id,
  42. redirectGlj: redirectGlj,
  43. redirectCoe: redirectCoe,
  44. redirectInstallation: redirectInstallation,
  45. gljLibId: gljLibId,
  46. compilationName: req.session.sessionCompilation.name,
  47. versionName: `纵横建筑云计价(${req.session.compilationVersion})`,
  48. LicenseKey:config.getLicenseKey(process.env.NODE_ENV)
  49. });
  50. }
  51. async redirectGljList(req, res){
  52. const gljLibId = await getGljLibId(req.session.sessionCompilation);
  53. const redirectRation = `/complementaryRation/ration`;
  54. const redirectCoe = `/complementaryRation/coe`;
  55. const redirectInstallation = `/complementaryRation/installation`;
  56. res.render('building_saas/complementary_ration_lib/html/gongliao.html', {
  57. userID: req.session.sessionUser.id,
  58. redirectRation: redirectRation,
  59. redirectCoe: redirectCoe,
  60. redirectInstallation: redirectInstallation,
  61. gljLibId: gljLibId,
  62. compilationName: req.session.sessionCompilation.name,
  63. versionName: `纵横建筑云计价(${req.session.compilationVersion})`,
  64. LicenseKey:config.getLicenseKey(process.env.NODE_ENV)
  65. });
  66. }
  67. async redirectCoeList(req, res){
  68. const gljLibId = await getGljLibId(req.session.sessionCompilation);
  69. const redirectRation = `/complementaryRation/ration`;
  70. const redirectGlj = `/complementaryRation/glj`;
  71. const redirectInstallation = `/complementaryRation/installation`;
  72. res.render('building_saas/complementary_ration_lib/html/fuzhu.html', {
  73. userID: req.session.sessionUser.id,
  74. redirectRation: redirectRation,
  75. redirectGlj: redirectGlj,
  76. redirectInstallation: redirectInstallation,
  77. gljLibId: gljLibId,
  78. compilationName: req.session.sessionCompilation.name,
  79. versionName: `纵横建筑云计价(${req.session.compilationVersion})`,
  80. LicenseKey:config.getLicenseKey(process.env.NODE_ENV)
  81. });
  82. }
  83. redirectInstallation(req, res){
  84. const repId = req.query.repository;
  85. const redirectRation = `/complementaryRation/ration`;
  86. const redirectGlj = `/complementaryRation/glj?repository=${repId}`;
  87. const redirectCoe = `/complementaryRation/coe?repository=${repId}`;
  88. res.render('building_saas/complementary_ration_lib/html/anzhuang.html', {
  89. userID: req.session.sessionUser.id,
  90. redirectRation: redirectRation,
  91. redirectGlj: redirectGlj,
  92. redirectCoe: redirectCoe,
  93. compilationName: req.session.sessionCompilation.name,
  94. versionName: `纵横建筑云计价(${req.session.compilationVersion})`,
  95. LicenseKey:config.getLicenseKey(process.env.NODE_ENV)
  96. });
  97. }
  98. getRationLib(req, res){
  99. let data = JSON.parse(req.body.data);
  100. compleViewModel.getRationLib(data.rationRepId, function (err, data) {
  101. callback(req, res, err, '', data);
  102. });
  103. }
  104. getRationLibs(req, res){
  105. let data = JSON.parse(req.body.data);
  106. compleViewModel.getRationLibs(req.session.sessionCompilation._id, data.ids, function (err, data) {
  107. callback(req, res, err, '', data);
  108. });
  109. }
  110. }
  111. export default CompleViewController;