rpt_tpl_data_facade.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /**
  2. * Created by Tony on 2017/8/9.
  3. */
  4. // let consts = require('../../../modules/main/models/project_consts');
  5. // let projectConst = consts.projectConst;
  6. let prjMdl = require('../../../modules/pm/models/project_model');
  7. let projectDataMdl = require('../../../modules/main/models/project');
  8. let projectFacade = require('../../../modules/main/facade/project_facade');
  9. let billsUnitPriceFeatureModel = mongoose.model('std_bills_unitprice_feature_lib');
  10. module.exports = {
  11. prepareProjectData: prepareProjectData,
  12. getBudgetSummayDatas: getBudgetSummayDatas,
  13. getGLJSummayDatas: getGLJSummayDatas
  14. };
  15. function prepareProjectData(userId, prjId, filter, callback) {
  16. let rawDataObj = null;
  17. let basicInformation = prjMdl.project.getBasicInfo(prjId);
  18. let estUnitPriceFeature = null;
  19. prjMdl.project.getUserProject(userId, prjId, function(err, msg, rst){
  20. if (!err) {
  21. rawDataObj = {};
  22. rawDataObj.prj = rst;
  23. let doc = rst._doc? rst._doc : rst;
  24. if (doc.property.engineeringName === '指标估算') {
  25. //要加料
  26. let conditions = {compilationId: doc.compilation};
  27. estUnitPriceFeature = billsUnitPriceFeatureModel.findOne(conditions,{_id: 0}).lean();
  28. // billsUnitPriceFeatureModel
  29. }
  30. projectDataMdl.getFilterData(prjId, filter, function (results) {
  31. if (results) {
  32. rawDataObj.prjData = results;
  33. basicInformation.then(function(basicRst) {
  34. if (basicRst !== null && basicRst !== undefined) {
  35. let doc = (rawDataObj.prj._doc)?rawDataObj.prj._doc:rawDataObj.prj;
  36. doc.property.basicInformation = basicRst;
  37. }
  38. if (estUnitPriceFeature) {
  39. estUnitPriceFeature.then( (features) => {
  40. let doc = (rawDataObj.prj._doc)?rawDataObj.prj._doc:rawDataObj.prj;
  41. doc.property.estUnitPriceFeature = features.feature;
  42. // console.log(features);
  43. callback(false, 'Succeeded!', rawDataObj);
  44. });
  45. } else {
  46. callback(false, 'Succeeded!', rawDataObj);
  47. }
  48. });
  49. // callback(false, 'Succeeded!', rawDataObj);
  50. } else {
  51. callback(true, 'No data were found!', null);
  52. }
  53. });
  54. } else {
  55. callback(err, msg, null);
  56. }
  57. });
  58. }
  59. async function getBudgetSummayDatas(prjIds, userId, CompilationId, overWriteUrl) {
  60. return await projectFacade.getBudgetSummayDatas(prjIds, userId, CompilationId, overWriteUrl);
  61. }
  62. async function getGLJSummayDatas(prjIds) {
  63. return await projectFacade.getGLJSummayDatas(prjIds);
  64. }