Browse Source

修改,专利信息导入时,如果没查到该人,只进行姓名的保存

lrf 3 years ago
parent
commit
e403a16721
2 changed files with 17 additions and 17 deletions
  1. 16 16
      app/service/patent/patentinfo.js
  2. 1 1
      server.js

+ 16 - 16
app/service/patent/patentinfo.js

@@ -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;
   }

+ 1 - 1
server.js

@@ -2,7 +2,7 @@
 // eslint-disable-next-line strict
 const egg = require('egg');
 
-const workers = Number(process.argv[2] || require('os').cpus().length);
+const workers = Number(2);
 egg.startCluster({
   workers,
   baseDir: __dirname,