| 
					
				 | 
			
			
				@@ -5,6 +5,9 @@ const mongoose = require('mongoose'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const gljMapModel = mongoose.model('std_glj_lib_map'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const gljModel = mongoose.model('std_glj_lib_gljList'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const gljClassModel = mongoose.model('std_glj_lib_gljClass'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const projectGLJModel = mongoose.model('glj_list'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const projectModel = mongoose.model('projects'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const userModel = mongoose.model('users'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const gljClassTemplateModel = mongoose.model('std_glj_lib_gljClassTemplate'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const compilationModel = mongoose.model('compilation'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const scMathUtil = require('../../../public/scMathUtil').getUtil(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,6 +18,7 @@ import {OprDao} from  "./gljMapModel"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import moment from "moment"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import counter from "../../../public/counter/counter"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import async from "async"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let _ = require("lodash"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class GljDao  extends OprDao{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async getReference(repositoryId, gljId) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44,6 +48,34 @@ class GljDao  extends OprDao{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async getUsedInfo(repositoryId, gljId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let userMap = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let userIDList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let projectList = await projectGLJModel.find({"glj_id":gljId},'-_id project_id').lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(projectList.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let projectUserList =  await projectModel.find({'ID':{$in:_.map(projectList,"project_id")}},'-_id ID userID').lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let p of projectUserList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!userMap[p.userID]){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    userMap[p.userID] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    userIDList.push(p.userID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let userList = await userModel.find({'_id':{$in:userIDList}},'_id username mobile').lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let u of userList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userMap[u._id.toString()] = u; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let p of projectUserList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                p.username = userMap[p.userID].username; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                p.mobile = userMap[p.userID].mobile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           return projectUserList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async getGljTreeSync(gljLibId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return await gljClassModel.find({repositoryId: gljLibId}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |