Forráskód Böngészése

修复编办管理新增bug

olym 8 éve
szülő
commit
9be8c4cee2
1 módosított fájl, 25 hozzáadás és 6 törlés
  1. 25 6
      modules/users/models/compilation_model.js

+ 25 - 6
modules/users/models/compilation_model.js

@@ -281,14 +281,33 @@ class CompilationModel extends BaseModel {
         let sectionString = section + "_valuation";
         let condition = {};
         condition[sectionString + "._id"] = valuationId;
-        condition[sectionString + ".engineering_list.engineering"] = engineering;
 
-        let engineeringLib = await this.findDataByCondition(condition);
-        if (engineeringLib === null) {
-            return engineeringLib;
+        let compilationData = await this.findDataByCondition(condition);
+        if (compilationData === null) {
+            throw '不存在对应编办';
+        }
+        let valuationData = null;
+        for(let valuation of compilationData[sectionString]) {
+            if(valuation._id.toString() === valuationId) {
+                valuationData = valuation;
+            }
+        }
+
+        if (valuationData === null) {
+            throw '不存在对应计价规则';
         }
-        return engineeringLib[sectionString].length > 0 && engineeringLib[sectionString][0].engineering_list ?
-            engineeringLib[sectionString][0].engineering_list : {};
+
+        // 判断是否已有对应数据
+        let engineeringList = valuationData.engineering_list;
+        let engineeringLib = null;
+        for(let tmpEngineering of engineeringList) {
+            if (tmpEngineering.engineering === engineering) {
+                engineeringLib = tmpEngineering;
+                break;
+            }
+        }
+
+        return engineeringLib;
     }
 
     /**