Browse Source

清除脏数据 2/1

lwhhszx 2 years ago
parent
commit
91fe24ded8

+ 6 - 0
PAS/src/main/java/cn/cslg/pas/controller/SystemController.java

@@ -40,6 +40,7 @@ public class SystemController {
     private final PatentService patentService;
     private final PatentFieldService patentFieldService;
     private final ClientService clientService;
+    private final PatentApplicantService patentApplicantService;
     @PostMapping("dict")
     @Operation(summary = "根据类型获得字典")
     public String getPageList(@RequestBody  List<String> dicts) {
@@ -84,5 +85,10 @@ public class SystemController {
         return clientService.getClientName(ids);
     }
 
+    @PostMapping("gcease1")
+    @Operation(summary = "测试11111")
+    public List<Integer> getAllClient1() {
+        return patentApplicantService.test();
+    }
 }
 

+ 3 - 0
PAS/src/main/java/cn/cslg/pas/mapper/PatentApplicantMapper.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
+import java.util.List;
+
 /**
  * <p>
  * 专利信息申请人表 Mapper 接口
@@ -17,4 +19,5 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 public interface PatentApplicantMapper extends BaseMapper<PatentApplicant> {
 
     IPage<PatentApplicant> getPageList(Page<PatentApplicant> page, PatentApplicantVO params);
+    List<String> getNames();
 }

+ 47 - 20
PAS/src/main/java/cn/cslg/pas/service/PatentApplicantService.java

@@ -14,6 +14,7 @@ import cn.cslg.pas.domain.PatentApplicantMergeLink;
 import cn.cslg.pas.domain.SystemDict;
 import cn.cslg.pas.mapper.PatentApplicantMapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -238,16 +239,14 @@ public class PatentApplicantService extends ServiceImpl<PatentApplicantMapper, P
         //判断当前名称是否为空
         if (name != null) {
             for (int i = 0; i < name.size(); i++) {
-                String s = i < shortName.size() ? shortName.get(i) : null;
+                String s = i < shortName.size() ? shortName.get(i) :"";
+                s = s.replace((char) 12288, ' ');    // 将中文空格替换为英文空格
+                 s= s.trim();
                 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())) {
+                } else if (name.size()==1) {
                     temp.setShortName(s);
                     temp.updateById();
                 }
@@ -258,25 +257,11 @@ public class PatentApplicantService extends ServiceImpl<PatentApplicantMapper, P
         } else {
             for (String s : shortName) {
                 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) {
                     patentApplicant = this.add(s, s);
                 } else {
-                    if (temp.size() == 1) {
                         patentApplicant = temp.get(0);
-                    } else {
-                        for (PatentApplicant pa : temp) {
-                            if (pa.getShortName().equals(pa.getName())) {
-                                patentApplicant = pa;
-                                break;
-                            }
-                        }
-                    }
                 }
 
                  if(!ids.contains(patentApplicant.getId())){ids.add(patentApplicant.getId());}
@@ -352,4 +337,46 @@ public class PatentApplicantService extends ServiceImpl<PatentApplicantMapper, P
             first.updateById();
         }
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    public List<Integer>  test(){
+List<String> names =  this.baseMapper.getNames();
+
+List<Integer> ids1 =new ArrayList<>();
+names.forEach(item->{
+    LambdaQueryWrapper<PatentApplicant> wrapper =new LambdaQueryWrapper<>();
+    wrapper.eq(PatentApplicant::getName,item);
+    List<PatentApplicant> lists =this.list(wrapper);
+    List<Integer> ids =lists.stream().map(PatentApplicant::getId).collect(Collectors.toList());
+    if(ids.size()<=1){
+        System.out.println("个数为"+ids.size());
+    }
+    Integer id =0;
+   for(PatentApplicant tem :lists) {
+       if (tem.getName().equals(tem.getShortName()) ) {
+           ids.remove(tem.getId());
+           id = tem.getId();
+           ids1.addAll(ids);
+           break;
+       }
+   }
+    PatentApplicant t=lists.get(0);
+    id =t.getId();
+    ids.remove(t.getId());;
+    ids1.addAll(ids);
+   if(id!=0){
+       LambdaUpdateWrapper<PatentApplicantLink> tem =new LambdaUpdateWrapper<>();
+       tem.set(PatentApplicantLink::getApplicantId,id)
+               .in(PatentApplicantLink::getApplicantId,ids);
+       patentApplicantLinkService.update(null,tem);
+       LambdaUpdateWrapper<PatentApplicantMergeLink> te =new LambdaUpdateWrapper<>();
+       te.set(PatentApplicantMergeLink::getApplicantId,id)
+               .in(PatentApplicantMergeLink::getApplicantId,ids);
+       patentApplicantMergeLinkService.update(null,te);
+   }
+        }
+);
+this.removeByIds(ids1);
+return  ids1;
+    }
 }

+ 23 - 18
PAS/src/main/java/cn/cslg/pas/service/UploadPatentBatchService.java

@@ -232,16 +232,8 @@ public class UploadPatentBatchService {
             patentSimplyFamilyBusiness(uploadParamsVO);
             //发明人 OS_PATENT_INVENTOR
             patentInventorBusiness(uploadParamsVO);
-            if (uploadParamsVO.getPatentApplicantOriginalName() == null) {
-                uploadParamsVO.setPatentApplicantOriginalName(uploadParamsVO.getPatentApplicantStandardOriginalName());
-            }
-            if (uploadParamsVO.getPatentApplicantCurrentName() == null) {
-                uploadParamsVO.setPatentApplicantCurrentName(uploadParamsVO.getPatentApplicantStandardCurrentName());
-            }
             //申请人(原始)/权利人(当前) OS_PATENT_APPLICATION || OS_APPLICATION_ATTR
-            if (uploadParamsVO.getPatentApplicantStandardCurrentName() != null && uploadParamsVO.getPatentApplicantOriginalName() != null && uploadParamsVO.getPatentApplicantStandardOriginalName() != null) {
                 patentApplicationBusiness(uploadParamsVO);
-            }
             //申请人地址 OS_PATENT_APPLICATION
             patentApplicationAddressBusiness(uploadParamsVO);
             //专题库关联专利信息 OS_THEMATIC_PID
@@ -482,16 +474,29 @@ public class UploadPatentBatchService {
     //申请人(原始)/权利人(当前) OS_PATENT_APPLICATION || OS_APPLICATION_ATTR
     private void patentApplicationBusiness(UploadParamsVO uploadParamsVO) {
         // 根据本条数据的名字查询所有的申请人信息
-        List<String> currentName = new ArrayList<>(uploadParamsVO.getPatentApplicantCurrentName());
-        List<String> standardName = new ArrayList<>(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(), patentApplicantList);
-        //申请人
-        patentApplicantLinkService.updatePatentApplicantLink(uploadParamsVO.getPatentApplicantOriginalName(), uploadParamsVO.getPatentApplicantStandardOriginalName(), 2, uploadParamsVO.getPatent().getId(), patentApplicantList);
-    }
+      List<String> name =new ArrayList<>();
+       if(uploadParamsVO.getPatentApplicantCurrentName()!=null){
+           name.addAll(uploadParamsVO.getPatentApplicantCurrentName());
+       }
+       if(uploadParamsVO.getPatentApplicantOriginalName()!=null){
+           name.addAll(uploadParamsVO.getPatentApplicantOriginalName());
+       }
+        if(uploadParamsVO.getPatentApplicantStandardCurrentName()!=null){
+            name.addAll(uploadParamsVO.getPatentApplicantStandardCurrentName());
+        }
+        if(uploadParamsVO.getPatentApplicantStandardOriginalName()!=null){
+            name.addAll(uploadParamsVO.getPatentApplicantStandardOriginalName());
+        }
+        if(name.size()!=0) {
+            List<PatentApplicant> patentApplicantList = patentApplicantService.list(Wrappers.<PatentApplicant>lambdaQuery().in(PatentApplicant::getName, name));
+            //权利人
+            if(uploadParamsVO.getPatentApplicantCurrentName()!=null||uploadParamsVO.getPatentApplicantStandardCurrentName()!=null)
+            patentApplicantLinkService.updatePatentApplicantLink(uploadParamsVO.getPatentApplicantCurrentName(), uploadParamsVO.getPatentApplicantStandardCurrentName(), 1, uploadParamsVO.getPatent().getId(), patentApplicantList);
+            //申请人
+            if(uploadParamsVO.getPatentApplicantOriginalName()!=null||uploadParamsVO.getPatentApplicantStandardOriginalName()!=null)
+            patentApplicantLinkService.updatePatentApplicantLink(uploadParamsVO.getPatentApplicantOriginalName(), uploadParamsVO.getPatentApplicantStandardOriginalName(), 2, uploadParamsVO.getPatent().getId(), patentApplicantList);
+        }
+        }
 
     private void patentApplicationAddressBusiness(UploadParamsVO uploadParamsVO) {
         PatentApplicantAddressParams patentApplicantAddressParams = new PatentApplicantAddressParams();

+ 3 - 0
PAS/src/main/resources/mapper/PatentApplicantMapper.xml

@@ -38,4 +38,7 @@
             order by a.`${params.prop}` ${params.order}
         </where>
     </select>
+    <select id="getNames"  resultType="java.lang.String">
+        select a.name from os_patent_applicant a  GROUP BY a.name having count(*)>1;
+    </select>
 </mapper>