ソースを参照

feat: 导入问题

zhangweicheng 1 年間 前
コミット
698c5c44d4
1 ファイル変更9 行追加2 行削除
  1. 9 2
      modules/pm/facade/pm_facade.js

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

@@ -97,6 +97,7 @@ let engineeringModel = mongoose.model('engineering_lib');
 let basicInfoModel = mongoose.model('std_basic_info_lib');
 let projectFeatureModel = mongoose.model('std_project_feature_lib');
 let progressiveModel = mongoose.model('std_progressive_lib');
+const stdRationLibModel = mongoose.model('std_ration_lib_map');
 let stdRationItemModel = mongoose.model('std_ration_lib_ration_items');
 let stdGljItemModel = mongoose.model('std_glj_lib_gljList');
 let evaluateListModel = mongoose.model("evaluate_list");
@@ -2290,9 +2291,15 @@ async function setupStdData(tenderData) {
     //限制在当前费用定额可用的定额库里查找
     let stdRations = await stdRationItemModel.find({code: {$in: matchRationCodes}, rationRepId: {$in: tenderData.tender.rationLibIDs}},
                                                     '-_id -rationAssList -rationCoeList -rationInstList');
+    let rationLibs = await stdRationLibModel.find({ID:{$in: tenderData.tender.rationLibIDs}},'-_id ID compilationName libCode');
+
+    let libCodeMap =  {};//定额库ID-libCode映射
+    rationLibs.forEach(lib => libCodeMap[lib.ID] = (lib.libCode||''));   
+
+
     //标准定额code - 映射
     let stdRationCodeMap = {};
-    stdRations.forEach(stdRation => stdRationCodeMap[stdRation.code] = stdRation);
+    stdRations.forEach(stdRation => stdRationCodeMap[stdRation.code+'-'+libCodeMap[stdRation.rationRepId]] = stdRation);
     //获取标准人材机数据 (人材机汇总的编码查找)
     let matchGLJCodes = [...new Set(tenderData.projectGLJ.map(pGLJ => pGLJ.original_code))];
     if (!matchGLJCodes.length) {
@@ -2313,7 +2320,7 @@ async function setupStdData(tenderData) {
             toSetFakeProgramIDData.push(r);
             delete r.setFakeProgramID;
         }
-        let stdRation = stdRationCodeMap[r.code];
+        let stdRation = stdRationCodeMap[r.code+'-'+(r.libCode||'')];
         if (stdRation) {
             r.caption = stdRation.caption;
             r.from = 'std';