Ver Fonte

申请人权利人改写2022/10/31

lwhhszx há 2 anos atrás
pai
commit
a2c355df34

+ 3 - 3
PAS/src/main/java/cn/cslg/pas/service/PatentApplicantLinkService.java

@@ -1,5 +1,6 @@
 package cn.cslg.pas.service;
 
+import cn.cslg.pas.domain.PatentApplicant;
 import cn.cslg.pas.domain.PatentApplicantLink;
 import cn.cslg.pas.mapper.PatentApplicantLinkMapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -24,7 +25,6 @@ import java.util.List;
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class PatentApplicantLinkService extends ServiceImpl<PatentApplicantLinkMapper, PatentApplicantLink> {
 
-    private final PatentService patentService;
     private final PatentApplicantService patentApplicantService;
 
     public List<PatentApplicantLink> getPatentApplicantAttributesByPatentId(Integer patentId) {
@@ -42,8 +42,8 @@ public class PatentApplicantLinkService extends ServiceImpl<PatentApplicantLinkM
         return this.list(queryWrapper);
     }
 
-    public void updatePatentApplicantLink(List<String> name, List<String> shortName, Integer type, Integer patentId) {
-        List<Integer> applicableIds = patentApplicantService.updatePatentApplicant(name, shortName);
+    public void updatePatentApplicantLink(List<String> name, List<String> shortName, Integer type, Integer patentId,List<PatentApplicant> patentApplicantList) {
+        List<Integer> applicableIds = patentApplicantService.updatePatentApplicant(name, shortName,patentApplicantList);
         if (applicableIds.size() != 0) {
             this.remove(Wrappers.<PatentApplicantLink>lambdaQuery().eq(PatentApplicantLink::getPatentId, patentId).eq(PatentApplicantLink::getType, type));
             for (int i = 0; i < applicableIds.size(); i++) {

+ 17 - 11
PAS/src/main/java/cn/cslg/pas/service/PatentApplicantService.java

@@ -233,31 +233,36 @@ public class PatentApplicantService extends ServiceImpl<PatentApplicantMapper, P
      * @param name      权利人 通过分割符 | 分割后的List
      * @param shortName 【标】权利人 通过分割符 | 分割后的List
      */
-    public List<Integer> updatePatentApplicant(List<String> name, List<String> shortName) {
+    public List<Integer> updatePatentApplicant(List<String> name, List<String> shortName,List<PatentApplicant> patentApplicantList) {
         //生成一个存放ID的List
         List<Integer> ids = new ArrayList<>();
         //判断当前名称是否为空
         if (name != null) {
             for (int i = 0; i < name.size(); i++) {
                 String s = i < shortName.size() ? shortName.get(i) : null;
-                LambdaQueryWrapper<PatentApplicant> queryWrapper = new LambdaQueryWrapper<>();
-                queryWrapper.eq(PatentApplicant::getName, name.get(i));
-                queryWrapper.eq(PatentApplicant::getMerge, 0);
-                PatentApplicant temp = this.getOne(queryWrapper);
+                String nam = name.get(i);
+            PatentApplicant temp = patentApplicantList.stream().filter(item->item.getMerge().equals(false)&&item.getName().equals(nam)).findFirst().orElse(null);
+//                LambdaQueryWrapper<PatentApplicant> queryWrapper = new LambdaQueryWrapper<>();
+//                queryWrapper.eq(PatentApplicant::getName, name.get(i));
+//                queryWrapper.eq(PatentApplicant::getMerge, 0);
+//                PatentApplicant temp = this.getOne(queryWrapper);
                 if (temp == null) {
                     temp = this.add(name.get(i), s);
                 } else if (s != null && !s.equals(temp.getShortName())) {
                     temp.setShortName(s);
                     temp.updateById();
                 }
-                ids.add(temp.getId());
+                if(!ids.contains(temp.getId()))
+                { ids.add(temp.getId());}
+
             }
         } else {
             for (String s : shortName) {
-                LambdaQueryWrapper<PatentApplicant> queryWrapper = new LambdaQueryWrapper<>();
-                queryWrapper.eq(PatentApplicant::getShortName, s);
-                queryWrapper.eq(PatentApplicant::getMerge, 0);
-                List<PatentApplicant> temp = this.list(queryWrapper);
+                List<PatentApplicant>   temp = patentApplicantList.stream().filter(item->item.getMerge().equals(0)&&item.getName().equals(s)).collect(Collectors.toList());
+//                LambdaQueryWrapper<PatentApplicant> queryWrapper = new LambdaQueryWrapper<>();
+//                queryWrapper.eq(PatentApplicant::getShortName, s);
+//                queryWrapper.eq(PatentApplicant::getMerge, 0);
+//                List<PatentApplicant> temp = this.list(queryWrapper);
 
                 PatentApplicant patentApplicant = new PatentApplicant();
                 if (temp.size() == 0) {
@@ -275,7 +280,8 @@ public class PatentApplicantService extends ServiceImpl<PatentApplicantMapper, P
                     }
                 }
 
-                ids.add(patentApplicant.getId());
+                 if(!ids.contains(patentApplicant.getId())){ids.add(patentApplicant.getId());}
+
             }
         }
 

+ 9 - 2
PAS/src/main/java/cn/cslg/pas/service/UploadPatentBatchService.java

@@ -11,6 +11,7 @@ import cn.cslg.pas.common.utils.*;
 import cn.cslg.pas.domain.*;
 import cn.cslg.pas.mapper.ImportErrorLogMapper;
 import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
 import org.apache.poi.ss.usermodel.PictureData;
 import org.springframework.context.annotation.Lazy;
@@ -335,10 +336,16 @@ public class UploadPatentBatchService {
 
     //申请人(原始)/权利人(当前) OS_PATENT_APPLICATION || OS_APPLICATION_ATTR
     private void patentApplicationBusiness(UploadParamsVO uploadParamsVO) {
+        // 根据本条数据的名字查询所有的申请人信息
+List<String>  currentName=uploadParamsVO.getPatentApplicantCurrentName();
+List<String>  standardName = uploadParamsVO.getPatentApplicantStandardCurrentName();
+        currentName.addAll(uploadParamsVO.getPatentApplicantOriginalName());
+        standardName.addAll(uploadParamsVO.getPatentApplicantStandardOriginalName());
+        List<PatentApplicant> patentApplicantList = patentApplicantService.list(Wrappers.<PatentApplicant>lambdaQuery().in(PatentApplicant::getName, currentName).in(PatentApplicant::getShortName, standardName));
         //权利人
-        patentApplicantLinkService.updatePatentApplicantLink(uploadParamsVO.getPatentApplicantCurrentName(), uploadParamsVO.getPatentApplicantStandardCurrentName(), 1, uploadParamsVO.getPatent().getId());
+        patentApplicantLinkService.updatePatentApplicantLink(uploadParamsVO.getPatentApplicantCurrentName(), uploadParamsVO.getPatentApplicantStandardCurrentName(), 1, uploadParamsVO.getPatent().getId(),patentApplicantList);
         //申请人
-        patentApplicantLinkService.updatePatentApplicantLink(uploadParamsVO.getPatentApplicantOriginalName(), uploadParamsVO.getPatentApplicantStandardOriginalName(), 2, uploadParamsVO.getPatent().getId());
+        patentApplicantLinkService.updatePatentApplicantLink(uploadParamsVO.getPatentApplicantOriginalName(), uploadParamsVO.getPatentApplicantStandardOriginalName(), 2, uploadParamsVO.getPatent().getId(),patentApplicantList);
     }
 
     private void patentApplicationAddressBusiness(UploadParamsVO uploadParamsVO) {