|
@@ -40,6 +40,7 @@ module.exports={
|
|
|
moveProject:moveProject,
|
|
|
copyProject:copyProject,
|
|
|
getSummaryInfo: getSummaryInfo,
|
|
|
+ getSummaryInfoByTender: getSummaryInfoByTender,
|
|
|
getConstructionProject: getConstructionProject,
|
|
|
getFullPath: getFullPath
|
|
|
};
|
|
@@ -506,7 +507,29 @@ function getBuildingArea(projFeature){
|
|
|
//根据单位工程ID获取汇总信息
|
|
|
//@param {Number}tenderID {String}summaryType
|
|
|
async function getSummaryInfoByTender(tenderID, summaryType) {
|
|
|
-
|
|
|
+ const projectType = {project: 'project', engineering: 'engineering'};
|
|
|
+ const notDeleted = [{deleteInfo: null}, {'deleteInfo.deleted': false}];
|
|
|
+ let tender = await projectModel.findOne({ID: tenderID, $or: notDeleted});
|
|
|
+ let summaryItemID;
|
|
|
+ if(!tender){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ let engineering = await projectModel.findOne({ID: tender.ParentID, $or: notDeleted});
|
|
|
+ if(!engineering){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ let project = await projectModel.findOne({ID: engineering.ParentID, $or: notDeleted});
|
|
|
+ if(!project){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ if(summaryType === projectType.engineering){
|
|
|
+ summaryItemID = engineering.ID;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ summaryItemID = project.ID;
|
|
|
+ }
|
|
|
+ let summaryInfo = await getSummaryInfo([project.ID]);
|
|
|
+ return summaryInfo[summaryItemID];
|
|
|
}
|
|
|
|
|
|
async function getSummaryInfo(projectIDs){
|
|
@@ -521,9 +544,6 @@ async function getSummaryInfo(projectIDs){
|
|
|
flagFieldMapping[billsFlags.OTHER] = 'other';
|
|
|
flagFieldMapping[billsFlags.CHARGE] = 'charge';
|
|
|
flagFieldMapping[billsFlags.TAX] = 'tax';
|
|
|
- /* for(let projectID of projectIDs){
|
|
|
- IDMapping[projectID] = {engineeringCost: 0, subEngineering: 0, measure: 0, safetyConstruction: 0, other: 0, charge: 0, tax: 0, rate: 0, buildingArea: '', perCost: ''};
|
|
|
- }*/
|
|
|
let projects = await projectModel.find({ID: {$in : projectIDs}, projType: projectType.project, $or: [{deleteInfo: null}, {'deleteInfo.deleted': false}]});
|
|
|
//设置建设项目的总建筑面积
|
|
|
for(let project of projects){
|
|
@@ -608,7 +628,6 @@ async function getSummaryInfo(projectIDs){
|
|
|
projectInfo.buildingArea.toString().trim() : scMathUtil.roundTo(projectInfo.engineeringCost / projectInfo.buildingArea, perCostDecimal);
|
|
|
}
|
|
|
}
|
|
|
- console.log(IDMapping);
|
|
|
return IDMapping;
|
|
|
}
|
|
|
|
|
@@ -648,7 +667,7 @@ async function getFullPath(projectID) {
|
|
|
await getParent(project.ParentID);
|
|
|
}
|
|
|
fullPath = fullPath.reverse();
|
|
|
- return fullPath.join('\\');
|
|
|
+ return fullPath;
|
|
|
async function getParent(ParentID) {
|
|
|
if(ParentID != -1){
|
|
|
let parent = await projectModel.findOne({ID: ParentID, $or: notDeleted}, '-_id ParentID name');
|