unit_price_controller.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. let mongoose = require("mongoose")
  2. let logger = require("../../../logs/log_helper").logger;
  3. let config = require("../../../config/config.js");
  4. let unitPriceFileModel = mongoose.model('unit_price_file');
  5. let projectModel = mongoose.model('projects');
  6. const ProjectDao = require('../../pm/models/project_model').project;
  7. let unitPriceModel = mongoose.model('unit_price');
  8. let mixRatioModel = mongoose.model('mix_ratio');
  9. let glj_type_util = require('../../../public/cache/std_glj_type_util');
  10. let _ = require("lodash");
  11. module.exports={
  12. index:async function(req,res){
  13. let unitPriceFileID = req.params.unitPriceFileID;
  14. let unitPriceFile = await unitPriceFileModel.findOne({id:unitPriceFileID}).lean();
  15. let project = await projectModel.findOne({ID:unitPriceFile.root_project_id}).lean();
  16. let tenderData = await ProjectDao.getTenderByUnitPriceFileId(unitPriceFileID);
  17. let unitpriceList = await unitPriceModel.find({unit_price_file_id:unitPriceFileID},{supplyLocation:0}).lean();
  18. let mixRatioList = await mixRatioModel.find({unit_price_file_id:unitPriceFileID}).lean();
  19. let mixRatioMap = _.groupBy(mixRatioList,"connect_key");
  20. let gljTypeMap = glj_type_util.getStdGljTypeCacheObj().innerGljTypeObj;
  21. let usedTenderList = [];
  22. if (tenderData !== null) {
  23. for (let tmp of tenderData) {
  24. usedTenderList.push(tmp.name);
  25. }
  26. }
  27. let usedTenderString = "人材机单价的变化,将自动影响以下单位工程造价:<br>"+usedTenderList.join("<br>");
  28. res.render('building_saas/unit_price_file/index.html',
  29. {
  30. userAccount: req.session.userAccount,
  31. userID: req.session.sessionUser.id,
  32. versionName: req.session.compilationVersion,
  33. unitFileName:unitPriceFile.name,
  34. rootProjectName:project.name,
  35. usedTenderList:usedTenderList,
  36. usedTenderString:usedTenderString,
  37. unitpriceList:JSON.stringify(unitpriceList),
  38. gljTypeMap:JSON.stringify(gljTypeMap),
  39. mixRatioMap:JSON.stringify(mixRatioMap),
  40. LicenseKey:config.getLicenseKey(process.env.NODE_ENV)
  41. });
  42. }
  43. }
  44. // engineerID = req.params.engineerID;