|
@@ -32,40 +32,40 @@ class PatentinfoService extends CrudService {
|
|
|
}
|
|
|
|
|
|
async query(query, { skip = 0, limit = 0 }) {
|
|
|
- query = await this.resetCode(query);
|
|
|
- const res = await this.model.find(query).skip(parseInt(skip)).limit(parseInt(limit))
|
|
|
+ const newquery = await this.resetCode(query);
|
|
|
+ const res = await this.model.find(newquery).skip(parseInt(skip)).limit(parseInt(limit))
|
|
|
.sort({ 'meta.createdAt': -1 });
|
|
|
return res;
|
|
|
|
|
|
}
|
|
|
async count(query) {
|
|
|
- query = await this.resetCode(query);
|
|
|
- const res = await this.model.countDocuments(trimData(query)).exec();
|
|
|
+ const newquery = await this.resetCode(query);
|
|
|
+ const res = await this.model.countDocuments(trimData(newquery)).exec();
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
async resetCode(query) {
|
|
|
- query = this.ctx.service.util.util.dealQuery(query);
|
|
|
- const { type } = query;
|
|
|
+ let newquery = _.cloneDeep(query);
|
|
|
+ newquery = this.ctx.service.util.util.dealQuery(newquery);
|
|
|
+ const { type } = newquery;
|
|
|
if (type === 'else') {
|
|
|
- query.$and = [{ type: { $ne: '发明' } }, { type: { $ne: '实用新型' } }];
|
|
|
- delete query.type;
|
|
|
+ newquery.$and = [{ type: { $ne: '发明' } }, { type: { $ne: '实用新型' } }];
|
|
|
+ delete newquery.type;
|
|
|
}
|
|
|
- const { code, user_id } = query;
|
|
|
+ const { code, user_id } = newquery;
|
|
|
let ids = [];
|
|
|
if (code) {
|
|
|
const plist = await this.personalModel.find({ code });
|
|
|
ids = plist.map(i => i._id);
|
|
|
if (ids.length > 0) {
|
|
|
- query.user_id = { $elemMatch: { $in: ids } };
|
|
|
- delete query.code;
|
|
|
+ newquery.user_id = { $elemMatch: { $in: ids } };
|
|
|
+ delete newquery.code;
|
|
|
}
|
|
|
} else if (user_id) {
|
|
|
- console.log('in function:');
|
|
|
- query.user_id = { $elemMatch: { $in: [ ObjectId(user_id) ] } };
|
|
|
+ newquery.user_id = { $elemMatch: { $in: [ ObjectId(user_id) ] } };
|
|
|
}
|
|
|
|
|
|
- return query;
|
|
|
+ return newquery;
|
|
|
}
|
|
|
|
|
|
async queryByOrg({ code, status, term, skip = 0, limit = 0 }) {
|