| 
					
				 | 
			
			
				@@ -190,5 +190,62 @@ module.exports = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let responseData = error.err === 1 ? null : []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             callback(request, response, error.err, error.msg, responseData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //拼接获取回收站数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getGCDatas: async function(request, response) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let userID = req.session.sessionUser.ssoId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let engIdsSet = new Set(), rootIdsSet = new Set(), rst = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let gc_unitPriceFiles = await ProjectsData.getGCFiles('UnitPriceFile', userID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let gc_feeRateFiles = await ProjectsData.getGCFiles('FeeRateFile', userID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let gc_tenderFiles = await ProjectsData.getGCFiles(projType.tender, userID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(gc_unitPriceFiles.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gc_unitPriceFiles.forEach(function (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rootIdsSet.add(obj.rootProjectID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(gc_feeRateFiles.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gc_feeRateFiles.forEach(function (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rootIdsSet.add(obj.rootProjectID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(gc_tenderFiles.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rst = rst.concat(gc_tenderFiles); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gc_tenderFiles.forEach(function (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    engIdsSet.add(obj.ParentID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(engIdsSet.size > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let engineerings = await ProjectsData.getProjectsByIds(Array.from(engIdsSet)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                engineerings.forEach(function (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rst.push(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rootIdsSet.add(obj.ParentID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(rootIdsSet.size > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let projects = await ProjectsData.getProjectsByIds(Array.from(rootIdsSet)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(let i = 0, len = projects.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    projects[i].unitPriceFiles = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    projects[i].feeRateFiles = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for(let j = 0, jLen = gc_unitPriceFiles.length; j < jLen; j++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(gc_unitPriceFiles[j].rootProjectID === projects[i].ID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            projects[i].unitPriceFiles.push(gc_unitPriceFiles); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for(let j = 0, jLen = gc_feeRateFiles.length; j < jLen; j++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(gc_feeRateFiles[j].rootProjectID === projects[i].ID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            projects[i].feeRateFiles.push(gc_feeRateFiles[j]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rst = rst.concat(projects); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            callback(request, response, null, 'success', rst); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        catch (error){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            callback(request, response, true, 'fail', null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 |