فهرست منبع

人工系数加入Project接口。

Chenshilong 7 سال پیش
والد
کامیت
af7200e430

+ 1 - 0
config/gulpConfig.js

@@ -69,6 +69,7 @@ module.exports = {
         'web/building_saas/main/js/models/ration_coe.js',
         'web/building_saas/main/js/models/ration_ass.js',
         'web/building_saas/main/js/models/volume_price.js',
+        'web/building_saas/main/js/models/labour_coe.js',
         'public/web/id_tree.js',
         'test/tmp_data/test_ration_calc/ration_calc_base.js',
         'web/building_saas/main/js/models/cache_tree.js',

+ 23 - 1
modules/main/facade/labour_coe_facade.js

@@ -8,14 +8,20 @@ let mongoose = require('mongoose');
 let stdLabourCoesModel = mongoose.model('std_labour_coes');
 let projectLabourCoesModel = mongoose.model('labour_coes');
 let EngineeringLibModel = require("../../users/models/engineering_lib_model");
+let _=require("lodash");
+let consts = require('../models/project_consts');
+let projectConsts = consts.projectConst;
 
 module.exports = {
     newProjectLabourCoe: newProjectLabourCoe,
     getProjectLabourCoe: getProjectLabourCoe,
-    getStdLabourCoe: getStdLabourCoe
+    getStdLabourCoe: getStdLabourCoe,
+    getData: getData,
+    save: save
 };
 
 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 egnrModel = new EngineeringLibModel();
@@ -46,3 +52,19 @@ async function getStdLabourCoe(libID) {
     let stdLC = await stdLabourCoesModel.findOne({ID:libID});
     return stdLC;
 };
+
+// 统一的 getData() 方法供project调用
+function getData (projectID, callback) {
+    projectLabourCoesModel.findOne({projectID: projectID}, '-_id', function(err, datas) {
+            if (!err) {
+                callback(0, projectConsts.LABOUR_COE, datas);
+            } else {
+                callback(1, projectConsts.LABOUR_COE, null);
+            };
+    });
+};
+
+// 统一的 save() 方法供project调用
+function save (user_id, datas, callback) {
+    projectLabourCoesModel.update({"projectID": 553}, {"libName":"goo"}, callback(null, {data: 'ok'}));
+}

+ 2 - 0
modules/main/models/project.js

@@ -12,6 +12,7 @@ var fee_rate_data = require('../../fee_rates/facade/fee_rates_facade');
 let projCounter = require('./proj_counter_model');
 let projSetting = require('./proj_setting_model');
 let volumePriceData = require('../../volume_price/models/volume_price_model');
+var labour_coe_data = require('../facade/labour_coe_facade');
 var consts = require('./project_consts');
 var projectConsts = consts.projectConst;
 var async = require("async");
@@ -29,6 +30,7 @@ moduleMap[projCounter.collectionName] = projCounter;
 moduleMap[projSetting.collectionName] = projSetting;
 moduleMap[volumePriceData.collectionName] = volumePriceData;
 moduleMap[projectConsts.FEERATE] = fee_rate_data;
+moduleMap[projectConsts.LABOUR_COE] = labour_coe_data;
 
 var Project = function (){};
 

+ 2 - 1
modules/main/models/project_consts.js

@@ -14,7 +14,8 @@ var projectConst = {
     UNITPRICEFILE: 'unitPriceFile',
     PROPERTIES: 'properties',
     VOLUMEPRICE: 'volume_price',
-    FEERATE:'feeRate'
+    FEERATE:'feeRate',
+    LABOUR_COE:'labour_coe'
 };
 
 var commonConst = {

+ 1 - 0
web/building_saas/main/html/main.html

@@ -667,6 +667,7 @@
     <script type="text/javascript" src="/web/building_saas/main/js/models/ration_coe.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/models/ration_ass.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/models/volume_price.js"></script>
+    <script type="text/javascript" src="/web/building_saas/main/js/models/labour_coe.js"></script>
 
     <script type="text/javascript" src="/public/web/id_tree.js"></script>
     <script type="text/javascript" src="/test/tmp_data/test_ration_calc/ration_calc_base.js"></script>

+ 25 - 0
web/building_saas/main/js/models/labour_coe.js

@@ -0,0 +1,25 @@
+/**
+ * Created by CSL on 2017-10-17.
+ */
+class LabourCoe {
+    constructor (project) {
+        this.project = project;
+        this.datas = [];
+        project.registerModule(ModuleNames.labour_coe, this);
+    };
+
+    getSourceType () {
+        return ModuleNames.labour_coe;
+    };
+
+    loadData (datas) {
+        this.datas = datas;
+    };
+
+    doAfterUpdate (err, data) {
+        if(!err){
+            // do
+        }
+    };
+}
+

+ 2 - 1
web/building_saas/main/js/models/main_consts.js

@@ -12,5 +12,6 @@ const ModuleNames = {
     ration_ass:'ration_ass',
     quantity_detail:'quantity_detail',
     volume_price: 'volume_price',
-    projectGLJ: 'project_glj'
+    projectGLJ: 'project_glj',
+    labour_coe: 'labour_coe'
 };

+ 1 - 0
web/building_saas/main/js/models/project.js

@@ -87,6 +87,7 @@ var PROJECT = {
                     totalFee: 2
                 }
             };
+            this.LabourCoe = new LabourCoe(this);
 
             this.masterField = {ration: 'billsItemID', volumePrice: 'billsItemID'};
         };