Просмотр исходного кода

新建单位工程初始化超高降效数据

vian 6 лет назад
Родитель
Сommit
a2b87029f1

+ 5 - 0
modules/all_models/engineering_lib.js

@@ -86,6 +86,11 @@ let modelSchema = {
         type: Schema.Types.Mixed,
         default: []
     },
+    //超高降效库
+    over_height_lib: {
+        type: Schema.Types.Mixed,
+        default: []
+    },
     //设置人材机显示列
     glj_col:{
         showAdjustPrice:Boolean//是否显示调整价列

+ 25 - 0
modules/all_models/std_over_height_lib.js

@@ -0,0 +1,25 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Zhong
+ * @date 2019/3/5
+ * @version
+ */
+//建设项目基本信息库
+const mongoose = require('mongoose');
+const Schema = mongoose.Schema;
+const oprSchema = require('../all_schemas/opr_schema');
+const overHeightLib = new Schema({
+    ID: {type: String, index: true},
+    name: String,
+    creator: String,
+    createDate: Number,
+    recentOpr: [oprSchema],
+    list: {
+        type: Schema.Types.Mixed,
+        default: []
+    }
+}, {versionKey: false});
+mongoose.model('std_over_height_lib', overHeightLib, 'std_over_height_lib');

+ 19 - 2
modules/pm/facade/pm_facade.js

@@ -31,7 +31,8 @@ module.exports={
     importProject: importProject,
     getProjectPlaceholder: getProjectPlaceholder,
     exportProject:exportProject,
-    importProjects:importProjects//建筑这里重名了,这比养护加多了个s
+    importProjects:importProjects,//建筑这里重名了,这比养护加多了个s
+    initOverHeightItems: initOverHeightItems
 };
 
 
@@ -76,6 +77,7 @@ let evaluateListModel = mongoose.model("evaluate_list");
 let bidListModel = mongoose.model("bid_evaluation_list");
 let contractorListModel = mongoose.model("contractor_list");
 let featureLibModel =  mongoose.model("std_project_feature_lib");
+const overHeightLibModel = mongoose.model('std_over_height_lib');
 let scMathUtil = require('../../../public/scMathUtil').getUtil();
 let counter = require('../../../public/counter/counter');
 import SectionTreeDao from '../../complementary_ration_lib/models/sectionTreeModel';
@@ -1994,4 +1996,19 @@ async function importFeeRateFiles(mainData,projectIDMap,feeRateFileIDMap,userID)
     }
     if(feeRateFiles.length > 0) await insertMany(feeRateFiles,feeRateFileModel);
     if(feeRates.length > 0) await insertMany(feeRates,feeRateModel);
-}
+}
+
+// 初始化
+async function initOverHeightItems(engineeringID) {
+    const defaultData = [];
+    const engineering = await engineeringModel.findById(engineeringID);
+    const overHeightLibs = engineering.over_height_lib;
+    if (!overHeightLibs || !overHeightLibs.length) {
+        return defaultData;
+    }
+    const overHeightLibID = overHeightLibs[0].id;
+    const overHeightLib = await overHeightLibModel.findOne({ID: overHeightLibID});
+    return overHeightLib ? overHeightLib.list : defaultData;
+
+
+}

+ 3 - 2
modules/pm/models/project_model.js

@@ -191,6 +191,7 @@ ProjectsDAO.prototype.updateUserProjects = async function (userId, compilationId
                     data.updateData.property.tenderSetting = tenderSetting;
                      //添加重庆经济指标数据
                     await projectFacade.setSEILibData(data.updateData.property);
+                    data.updateData.property.overHeight = await pmFacade.initOverHeightItems(data.updateData.property.engineering_id);
                 }else if (data.updateData.projType === projectType.project) {
                     //更新基本信息
                     data.updateData.property.basicInformation.forEach(function (pData) {
@@ -204,7 +205,7 @@ ProjectsDAO.prototype.updateUserProjects = async function (userId, compilationId
                             }
                         });
                     });
-                }                
+                }
                 newProject = new Projects(data.updateData);
 
                 if (data.updateData.projType === 'Tender') {
@@ -879,4 +880,4 @@ ProjectsDAO.prototype.defaultSettings = async function (userID, compilationId, p
     await optionModel.update({user_id: userID, compilation_id: compilationId}, {$set: {options: optionSetting}});
     await Projects.update({ID: projectID}, {$set: {property: cloneProperty}});
     return true;
-};
+};