|
@@ -510,7 +510,8 @@ function getBuildingArea(projFeature){
|
|
|
async function getSummaryInfoByTender(tenderID, summaryType) {
|
|
|
const notDeleted = [{deleteInfo: null}, {'deleteInfo.deleted': false}];
|
|
|
let tender = await projectModel.findOne({ID: tenderID, $or: notDeleted});
|
|
|
- let summaryItemID;
|
|
|
+ let parentName;
|
|
|
+ let summaryList = [];
|
|
|
if(!tender){
|
|
|
return null;
|
|
|
}
|
|
@@ -522,14 +523,28 @@ async function getSummaryInfoByTender(tenderID, summaryType) {
|
|
|
if(!project){
|
|
|
return null;
|
|
|
}
|
|
|
+ let summaryInfo = await getSummaryInfo([project.ID]);
|
|
|
if(summaryType === projectType.engineering){
|
|
|
- summaryItemID = engineering.ID;
|
|
|
+ parentName = engineering.name ? engineering.name : '';
|
|
|
+ let tenders = await projectModel.find({ParentID: engineering.ID, $or: notDeleted});
|
|
|
+ for(let t of tenders){
|
|
|
+ if(summaryInfo[t.ID]){
|
|
|
+ summaryInfo[t.ID]['name'] = t.name ? t.name : '';
|
|
|
+ summaryList.push(summaryInfo[t.ID]);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
else {
|
|
|
- summaryItemID = project.ID;
|
|
|
+ parentName = project.name ? project.name : '';
|
|
|
+ let engs = await projectModel.find({ParentID: project.ID, $or: notDeleted});
|
|
|
+ for(let e of engs){
|
|
|
+ if(summaryInfo[e.ID]){
|
|
|
+ summaryInfo[e.ID]['name'] = e.name ? e.name : '';
|
|
|
+ summaryList.push(summaryInfo[e.ID]);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- let summaryInfo = await getSummaryInfo([project.ID]);
|
|
|
- return summaryInfo[summaryItemID];
|
|
|
+ return {parent: {name: parentName}, subList: summaryList};
|
|
|
}
|
|
|
|
|
|
async function getSummaryInfo(projectIDs){
|