| 
					
				 | 
			
			
				@@ -662,18 +662,43 @@ ProjectsDAO.prototype.updateProjectProperty = async function(projectId, property 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // CSL, 2018-01-11 获取指定ID节点(如单项工程、建设项目)下所有单位工程的各项汇总金额,用于报表计算汇总。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ProjectsDAO.prototype.getSummaryFees = function (projectID, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Projects.find({'ParentID': projectID}, ['-_id','-property'], function (err, datas) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (err) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            callback(1, '查找单位工程失败'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ProjectsDAO.prototype.getSummaryFees = async function (ID) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async function getProject(ID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return await Projects.findOne({'ID': ID, deleteInfo: null}, need); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async function getChildrenDocs(IDs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return await Projects.find({'ParentID': {"$in":IDs}, deleteInfo: null}, need); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async function getEgrIDs(ID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let _docs = await Projects.find({'ParentID': ID, deleteInfo: null}, ['ID', '-_id']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let arr = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let doc of _docs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            arr.push(doc.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return arr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            callback(0, datas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let need = ['ID', 'ParentID', 'NextSiblingID', 'name', 'projType', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'fullFolder', 'summaryFees', '-_id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let _doc = await getProject(ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!_doc) return _doc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (_doc.projType.sameText('Engineering')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return await getChildrenDocs([ID]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else if (_doc.projType.sameText('Project')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let eIDs = await getEgrIDs(ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return await getChildrenDocs(eIDs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _doc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 module.exports ={    project: new ProjectsDAO(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     projType: projectType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fileType: fileType 
			 |