فهرست منبع

fix:导入ybp时,检测ybp树结构数据,并做纠错处理

vian 5 سال پیش
والد
کامیت
1517519949
2فایلهای تغییر یافته به همراه9 افزوده شده و 0 حذف شده
  1. 1 0
      modules/main/facade/project_facade.js
  2. 8 0
      modules/pm/facade/pm_facade.js

+ 1 - 0
modules/main/facade/project_facade.js

@@ -3,6 +3,7 @@
  */
 
 module.exports = {
+  sortChildren,
   markUpdateProject: markUpdateProject,
   removeProjectMark: removeProjectMark,
   updateNodes: updateNodes,

+ 8 - 0
modules/pm/facade/pm_facade.js

@@ -1803,6 +1803,14 @@ async function importProject(data,req,updateData) {
                 result.msg = `您创建的项目个数超限,请联系我们的客服人员,或者导出建设项目保存到本地备份,删除云上数据。`;
                 return result;
             }
+            // 标段兄弟之间树结构兼容性处理(防止导入的ybp源文件树结构是错的)
+            const sortedTenders = project_facade.sortChildren(tenders);
+            // 根据排好的顺序,重设NextSiblingID
+            for (let i = 0; i < sortedTenders.length; i++) {
+                const curTender = sortedTenders[i];
+                const nextTender = sortedTenders[i + 1];
+                curTender.NextSiblingID = nextTender && nextTender.ID || -1;
+            }
             let [constructionProjectID,projectIDMap,labourCoeFileIDMap,calcProgramFileIDMap] = await handleMainProjectDatas(mainData,updateData,req.session.sessionUser.id);
             result.constructionProjectID = constructionProjectID;
             if(datas.length > 1 ){//生成后统一次插入 2020-05-29