|
@@ -38,8 +38,7 @@ class PatentinfoService extends CrudService {
|
|
|
|
|
|
async query(query, { skip = 0, limit = 0 }) {
|
|
|
const newquery = await this.resetCode(query);
|
|
|
- const res = await this.model.find(newquery).skip(parseInt(skip)).limit(parseInt(limit))
|
|
|
- .sort({ 'meta.createdAt': -1 });
|
|
|
+ const res = await this.model.find(newquery).skip(parseInt(skip)).limit(parseInt(limit)).sort({ 'meta.createdAt': -1 });
|
|
|
return res;
|
|
|
}
|
|
|
async count(query) {
|
|
@@ -76,7 +75,7 @@ class PatentinfoService extends CrudService {
|
|
|
let ids = [];
|
|
|
if (code) {
|
|
|
const plist = await this.personalModel.find({ code });
|
|
|
- ids = plist.map(i => i._id);
|
|
|
+ ids = plist.map((i) => i._id);
|
|
|
if (ids.length > 0) {
|
|
|
newquery['inventor.user_id'] = { $in: ids };
|
|
|
delete newquery.code;
|
|
@@ -92,12 +91,11 @@ class PatentinfoService extends CrudService {
|
|
|
assert(code, '缺少机构信息');
|
|
|
let pids = await this.personalModel.find({ code }, { _id: 1 });
|
|
|
if (pids.length <= 0) return { data: [], total: 0 };
|
|
|
- pids = pids.map(i => i._id);
|
|
|
+ pids = pids.map((i) => i._id);
|
|
|
const query = { 'inventor.user_id': { $in: pids } };
|
|
|
if (status) query.status = status;
|
|
|
if (term) query.term = term;
|
|
|
- const data = await this.model.find(query).skip(parseInt(skip)).limit(parseInt(limit))
|
|
|
- .sort({ 'meta.createdAt': -1 });
|
|
|
+ const data = await this.model.find(query).skip(parseInt(skip)).limit(parseInt(limit)).sort({ 'meta.createdAt': -1 });
|
|
|
const total = await this.model.count(query);
|
|
|
return { data, total };
|
|
|
}
|
|
@@ -115,7 +113,7 @@ class PatentinfoService extends CrudService {
|
|
|
const allNotice = [];
|
|
|
const sheetImageInfo = sheet.getImages();
|
|
|
const imgids = _.compact(
|
|
|
- sheetImageInfo.map(i => {
|
|
|
+ sheetImageInfo.map((i) => {
|
|
|
const { imageId, range } = i;
|
|
|
const row = _.get(range, 'tl.nativeRow');
|
|
|
if (row) return { row, imageId };
|
|
@@ -125,7 +123,7 @@ class PatentinfoService extends CrudService {
|
|
|
if (rindex !== 1) {
|
|
|
// 组织数据,图片的索引和行索引不一致,准确的说是:图片索引比行索引少1
|
|
|
// 原因:图片在工作簿中获取,按照1,2,3...顺序排序,但是行的第一行是表头(当前文件),所以当前行数需要减掉表头那一行
|
|
|
- const imgid = imgids.find(f => f.row === rindex - 1);
|
|
|
+ const imgid = imgids.find((f) => f.row === rindex - 1);
|
|
|
const img_url = [];
|
|
|
if (imgid) {
|
|
|
img_url.push({
|
|
@@ -212,25 +210,28 @@ class PatentinfoService extends CrudService {
|
|
|
for (const i of arr) {
|
|
|
const { inventor } = i;
|
|
|
const midList = inventor.split(/[,;/]/);
|
|
|
- nameList = [ ...nameList, ...midList ];
|
|
|
+ nameList = [...nameList, ...midList];
|
|
|
}
|
|
|
- nameList = nameList.map(i => _.trim(i));
|
|
|
+ nameList = nameList.map((i) => _.trim(i));
|
|
|
const l1 = await this.personalModel.find({ name: nameList });
|
|
|
const l2 = await this.organizationModel.find({ name: nameList });
|
|
|
// 查出来的所有人
|
|
|
- const nList = [ ...l1, ...l2 ];
|
|
|
+ const nList = [...l1, ...l2];
|
|
|
for (const i of arr) {
|
|
|
const { inventor } = i;
|
|
|
let midNameList = inventor.split(/[,;/]/);
|
|
|
- midNameList = midNameList.map(i => _.trim(i));
|
|
|
+ midNameList = midNameList.map((i) => _.trim(i));
|
|
|
const iList = [];
|
|
|
if (!_.isArray(i.user_id)) i.inventor = iList;
|
|
|
for (const name of midNameList) {
|
|
|
- const rList = nList.filter(f => f.name === name);
|
|
|
+ const rList = nList.filter((f) => f.name === name);
|
|
|
if (rList && rList.length > 0) {
|
|
|
for (const r of rList) {
|
|
|
iList.push({ user_id: r._id, name: r.name });
|
|
|
}
|
|
|
+ } else {
|
|
|
+ // 2021-11-09 修改:如果导入的人,没有账号信息.则不填写id,将姓名添加进去
|
|
|
+ iList.push({ name });
|
|
|
}
|
|
|
}
|
|
|
i.inventor = iList;
|
|
@@ -449,8 +450,7 @@ class PatentinfoService extends CrudService {
|
|
|
if (empower_sort === '0') {
|
|
|
sort = 'asc';
|
|
|
}
|
|
|
- const data = await this.model.find(newQuery).sort({ empower_date: sort }).skip(parseInt(skip))
|
|
|
- .limit(parseInt(limit));
|
|
|
+ const data = await this.model.find(newQuery).sort({ empower_date: sort }).skip(parseInt(skip)).limit(parseInt(limit));
|
|
|
const total = await this.model.count(newQuery);
|
|
|
return { data, total };
|
|
|
}
|
|
@@ -497,7 +497,7 @@ class PatentinfoService extends CrudService {
|
|
|
async dealCode(code) {
|
|
|
let pids = await this.personalModel.find({ code }, { _id: 1 });
|
|
|
if (pids.length <= 0) return { data: [], total: 0 };
|
|
|
- pids = pids.map(i => i._id);
|
|
|
+ pids = pids.map((i) => i._id);
|
|
|
const query = { user_id: { $elemMatch: { $in: pids } } };
|
|
|
return query;
|
|
|
}
|