|
@@ -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();
|
|
@@ -14,6 +17,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) {
|
|
@@ -42,6 +46,34 @@ class GljDao extends OprDao{
|
|
|
complementaryRations.forEach(ration => rst[complementaryLib].push({code: ration.code}));
|
|
|
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 [];
|
|
|
+ }
|
|
|
+
|
|
|
//test
|
|
|
async deSomething (libID){
|
|
|
let pClass = await gljClassModel.find({repositoryId: libID, Name: '2013全省材料预算价格'});
|