소스 검색

网站导入 3/24

lwhhszx 2 년 전
부모
커밋
165a0bf714

+ 68 - 18
PAS/src/main/java/cn/cslg/pas/common/model/PatentCell.java

@@ -31,18 +31,17 @@ public class PatentCell {
     private String abstrc;
     private String picUrl;
     /*
-专题库id
- */
+    申请号
+     */
+    private String applicationNo;
+    /*
+    专题库id
+     */
     private Integer projectId;
     /*
 报告id
  */
     private Integer reportId;
-    /*
-    申请号
-     */
-    private String applicationNo;
-
     private String country;
     private String applicationDate;
     private String pubilcDate;
@@ -55,30 +54,31 @@ public class PatentCell {
      */
     private String publicAccreditDate;
     /*
-    主分类号
-     */
-    private String mainTypeNo;
+      主分类号
+       */
+    private String mainIpc;
     /*
       分类号
        */
-    private String typeNo;
+    private List<String> ipc;
     /*
     申请人
      */
-    private String applicationPerson;
+    private List<String> applicationPersons;
     /*
 申请人地址
  */
-    private String applicationAddress;
+    private List<String> applicationAddress;
     /*
   发明人
    */
-    private String inventor;
+    private List<String> inventors;
 
     /*
     当前权利人
      */
-    private String patentApplication;
+    private List<String> applicationCurrents;
+    private List<String> applicationCurrentAddress;
     /*
     范畴分类
      */
@@ -87,22 +87,72 @@ public class PatentCell {
     状态
      */
     private String statue;
+
     /*
     摘要
      */
     private  String abstrText;
+
     /*
     主权要
      */
     private String mainRignt;
+
     /*
     权要
      */
     private List<String> rights;
-private UploadFileDTO pdf;
+
     /*
-说明书
- */
+        PDF文档路径
+         */
+    private String PDFUrl;
+
+    /*
+   PDF文档大小
+    */
+    private Long PDFSize;
+    private String PDFName;
+    private UploadFileDTO pdf;
+    /*
+    说明书
+     */
     private String patentInstructionText;
+    /*
+     公开号
+     */
+    private String publicNo;
+
+    /*
+   代理机构
+    */
+    private  String agency;
+    /*
+    代理人
+     */
+    private List<String> agencyPersons;
+
+    /*专利法律状态
+
+     */
+    List<PatentAffair> patentAffairs ;
+    @Data
+    public static  class PatentAffair{
+        /**
+         * 法律状态
+         */
+        private String status;
+
+        /**
+         * 发生日期
+         */
+        private String dateTime;
+        /**
+         * 简单法律状态
+         */
+
+        private String simpleStatus;
+
 
+    }
 }

+ 3 - 1
PAS/src/main/java/cn/cslg/pas/controller/PatentInstructionController.java

@@ -91,7 +91,9 @@ public class PatentInstructionController {
             if (patentInstruction != null) {
                 response.setHeader("Content-Disposition", "attachment;filename=" + patentInstruction.getFileName());
                 ServletOutputStream out = response.getOutputStream();
-                out.write(FileUtil.readBytes(fileUtils.getSystemPath(patentInstruction.getUrl())));
+//                out.write(FileUtil.readBytes(fileUtils.getSystemPath(patentInstruction.getUrl())));
+                String fil =fileUtils.getSystemPath()+patentInstruction.getUrl();
+                out.write(FileUtil.readBytes(fil));
                 IoUtil.close(out);
             }
         } catch (Exception e) {

+ 33 - 0
PAS/src/main/java/cn/cslg/pas/service/PatentAffairService.java

@@ -1,6 +1,7 @@
 package cn.cslg.pas.service;
 
 import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.model.PatentCell;
 import cn.cslg.pas.common.model.vo.KeyValueVO;
 import cn.cslg.pas.common.utils.JsonUtils;
 import cn.cslg.pas.common.utils.StringUtils;
@@ -21,6 +22,8 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -106,6 +109,36 @@ public class PatentAffairService extends ServiceImpl<PatentAffairMapper, PatentA
             this.saveOrUpdate(patentAffair);
         }
     }
+    //批量上传法律状态
+    public void updatePatientAffairs(List<PatentCell.PatentAffair> params,Integer patentId) {
+        List<SystemDict> systemDictList = systemDictService.getSystemDictListByType(Collections.singletonList(Constants.PATENT_SIMPLE_STATUS));
+        this.deleteByPatentId(patentId);
+        List<PatentAffair> patentAffairs =new ArrayList<>();
+        params.forEach(
+                item->{
+                    Integer simpleStatus = Integer.parseInt(systemDictList.stream()
+                            .filter(systemDict -> systemDict.getType().equals(Constants.PATENT_SIMPLE_STATUS) && systemDict.getLabel().equals(item.getSimpleStatus()))
+                            .findFirst()
+                            .orElse(new SystemDict()).getValue());
+                    PatentAffair patentAffair = new PatentAffair();
+                    patentAffair.setPatentId(patentId);
+                    patentAffair.setStatus(item.getStatus());
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
+                    Date date = null;
+                    try {
+                        date = simpleDateFormat.parse(item.getDateTime());
+                    } catch (ParseException e) {
+                        e.printStackTrace();
+                    }
+                    Integer ts = (int) date.getTime();
+                    patentAffair.setDateTime(ts);
+                    patentAffair.setSimpleStatus(simpleStatus);
+                    patentAffairs.add(patentAffair);
+                }
+        );
+        if(patentAffairs.size()>0){
+        this.saveOrUpdateBatch(patentAffairs);}
+    }
 
     public void deleteByPatentId(Integer patentId) {
         this.remove(Wrappers.<PatentAffair>lambdaQuery().eq(PatentAffair::getPatentId, patentId));

+ 40 - 8
PAS/src/main/java/cn/cslg/pas/service/UploadPatentBatchService.java

@@ -673,18 +673,32 @@ public class UploadPatentBatchService {
         patent.setName(patentCell.getTitle());
         //设置公开日
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
-        Date date = simpleDateFormat.parse(patentCell.getPubilcDate());
-       Integer ts = (int)date.getTime();
-        patent.setPublicDate(ts);
+        if(patentCell.getPubilcDate()!=null) {
+            Date date = simpleDateFormat.parse(patentCell.getPubilcDate());
+            Integer ts = (int) date.getTime();
+            patent.setPublicDate(ts);
+        }
+        //设置申请号
+        patent.setApplicationNo(patentCell.getApplicationNo());
+        //设置申请日
+        if(patentCell.getApplicationDate()!=null) {
+            Date date = simpleDateFormat.parse(patentCell.getApplicationDate());
+            Integer ts = (int) date.getTime();
+            patent.setApplicationDate(ts);
+        }
         //设置摘要附图
         patent.setAbstractPath(patentCell.getPicUrl());
         //设置pdf文档
         patentInstructionService.edit( patentCell.getPatentNo(),patentCell.getPdf());
         //设置公开号
-        patent.setPublicNo(patentCell.getPublicAccreditNo());
+        patent.setPublicNo(patentCell.getPublicNo());
         uploadParamsVO.setSimpleStatus(patentCell.getStatue());
         uploadParamsVO.setPatent(patent);
         getOneOrInsertOne(uploadParamsVO);
+        //装载代理机构
+        if (patentCell.getAgency() != null) {
+            uploadParamsVO.getPatent().setAgencyId(patentAgencyService.getAgencyStringIdByName(patentCell.getAgency()));
+        }
         try {
             //专利信息 OS_PATENT
             if (uploadParamsVO.getPatent() != null) {
@@ -707,18 +721,36 @@ public class UploadPatentBatchService {
             if (uploadParamsVO.getPatentInstructionText() != null) {
                 patentInstructionTextBusiness(uploadParamsVO);
             }
-            //简单同族 OS_PATENT_SIMPLEFAMILY
-            patentSimplyFamilyBusiness(uploadParamsVO);
             //发明人 OS_PATENT_INVENTOR
-            patentInventorBusiness(uploadParamsVO);
+            if(patentCell.getInventors().size()!=0) {
+                PatentInventorParams patentInventorParams = new PatentInventorParams();
+                patentInventorParams.setPatentId(uploadParamsVO.getPatent().getId());
+                patentInventorParams.setNameList(patentCell.getInventors());
+                patentInventorParams.setAddressList(new ArrayList<>());
+                patentInventorService.updatePatentInventor(patentInventorParams);
+            }
             //申请人(原始)/权利人(当前) OS_PATENT_APPLICATION || OS_APPLICATION_ATTR
+            uploadParamsVO.setPatentApplicantCurrentName(patentCell.getApplicationCurrents());
+            uploadParamsVO.setPatentApplicantOriginalName(patentCell.getApplicationPersons());
             patentApplicationBusiness(uploadParamsVO);
             //申请人地址 OS_PATENT_APPLICATION
+            uploadParamsVO.setPatentApplicantOriginalAddress(patentCell.getApplicationAddress());
             patentApplicationAddressBusiness(uploadParamsVO);
             //分类号关联 OS_PATENT_TYPENO
+            uploadParamsVO.setIpcList(patentCell.getIpc());
+            uploadParamsVO.setMainIpc(patentCell.getMainIpc());
             patentTypeNoBusiness(uploadParamsVO);
+            //代理人 OS_PATENT_AGENT
+            if(patentCell.getAgencyPersons()!=null&&patentCell.getAgencyPersons().size()!=0) {
+                PatentAgentParams patentAgentParams = new PatentAgentParams();
+                patentAgentParams.setPatentId(uploadParamsVO.getPatent().getId());
+                patentAgentParams.setAgent(patentCell.getAgencyPersons());
+                patentAgentService.updatePatentAgent(patentAgentParams);
+            }
             //事务信息 OS_PATENT_AFFAIR
-            patentAffairBusiness(uploadParamsVO);
+            if(patentCell.getPatentAffairs()!=null&&patentCell.getPatentAffairs().size()>0) {
+                patentAffairService.updatePatientAffairs(patentCell.getPatentAffairs(), uploadParamsVO.getPatent().getId());
+            }
             //当专题库id不为null时添加专利到专题库
             if(patentCell.getProjectId()!=null){
                 projectPatentLinkService.updateProjectPatent(patentCell.getProjectId(),uploadParamsVO.getPatent().getId());