浏览代码

计算程序文件.

Chenshilong 7 年之前
父节点
当前提交
70e0f7c61e

+ 2 - 4
modules/main/facade/calc_program_facade.js

@@ -23,13 +23,11 @@ module.exports = {
 async function newProjectCalcProgramFile(data) {
     logger.info(`Create new CalcProgram file for project : ${data.ID}`);
     let rst = null;
-    let egnrID = data.property.engineering_id;
     let egnrModel = new EngineeringLibModel();
-    let egnr = await egnrModel.getEngineering(egnrID);
+    let egnr = await egnrModel.getEngineering(data.property.engineering_id);
     if(!egnr) return rst;
-    let valid_CP_libs = egnr._doc.calcProgram_lib;
+    let valid_CP_libs = egnr._doc.program_lib;
     if (valid_CP_libs == undefined  || valid_CP_libs.length == 0) return rst;
-
     // 绑定多个计算程序标准文件时,默认取第一个作为标准模板。
     let stdCP = await getStdCalcProgramFile(valid_CP_libs[0].id);
     let doc={

+ 7 - 6
modules/main/facade/labour_coe_facade.js

@@ -22,11 +22,12 @@ module.exports = {
 
 async function newProjectLabourCoe(data) {
     logger.info(`Create new LabourCoe file for project : ${data.ID}`);
-    let valid_LC_libs = [];
-    let egnrID = data.property.engineering_id;
+    let rst = null;
     let egnrModel = new EngineeringLibModel();
-    let egnr = await egnrModel.getEngineering(egnrID);
-    if(egnr){ valid_LC_libs = egnr._doc.artificial_lib };
+    let egnr = await egnrModel.getEngineering(data.property.engineering_id);
+    if(!egnr) return rst;
+    let valid_LC_libs = egnr._doc.artificial_lib;
+    if (valid_LC_libs == undefined  || valid_LC_libs.length == 0) return rst;
     // 绑定多个人工系数标准文件时,默认取第一个作为标准模板。
     let stdLC = await getStdLabourCoe(valid_LC_libs[0].id);
     let doc={
@@ -38,8 +39,8 @@ async function newProjectLabourCoe(data) {
         coes: stdLC.coes
     };
     await projectLabourCoesModel.create(doc);
-    let newLC = {ID: doc.ID, name: doc.name};
-    return newLC;
+    rst = {ID: doc.ID, name: doc.name};
+    return rst;
 };
 
 async function getProjectLabourCoe(ID) {

+ 4 - 0
modules/pm/models/project_model.js

@@ -8,6 +8,7 @@ let newProjController = require('../controllers/new_proj_controller');
 let copyProjController = require('../controllers/copy_proj_controller');
 let feeRateFacade = require('../../fee_rates/facade/fee_rates_facade');
 let labourCoeFacade = require('../../main/facade/labour_coe_facade');
+let calcProgramFacade = require('../../main/facade/calc_program_facade');
 let logger = require("../../../logs/log_helper").logger;
 
 let Projects = require("./project_schema");
@@ -97,6 +98,9 @@ ProjectsDAO.prototype.updateUserProjects = async function(userId, datas, callbac
                     // 新建人工系数文件 CSL, 2017.10.13
                     let lcFile = await labourCoeFacade.newProjectLabourCoe(data.updateData);
                     newProject.property.labourCoeFile = lcFile ? lcFile : null;
+                    // 新建计算程序文件 CSL, 2017.10.23
+                    let cpFile = await calcProgramFacade.newProjectCalcProgramFile(data.updateData);
+                    newProject.property.calcProgramFile = cpFile ? cpFile : null;
                 }
                 newProject.save(async function (err, result) {
                     if (!err && result._doc.projType === projectType.tender) {