lwhhszx hace 2 años
padre
commit
0aca64794b

+ 3 - 0
PAS/src/main/java/cn/cslg/pas/common/model/vo/ProjectImportVO.java

@@ -1,9 +1,12 @@
 package cn.cslg.pas.common.model.vo;
 
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 @Data
 public class ProjectImportVO extends BaseVO {
     private Integer projectId;
     private String createName;
+    @Schema(description = "专利号")
+    private String patentNo;
 }

+ 4 - 4
PAS/src/main/java/cn/cslg/pas/controller/PatentAnnotationController.java

@@ -31,7 +31,7 @@ public class PatentAnnotationController {
     private final PatentAnnotationService patentAnnotationService;
 
     @checkAuth(FunId = "/workspace/details/notes/list")
-    @Permission(roles = {2})
+    @Permission(roles = {1,2,3,4})
     @GetMapping("list")
     @Operation(summary = "注释列表")
     public String getPageList(PatentAnnotationVO params) {
@@ -39,7 +39,7 @@ public class PatentAnnotationController {
     }
 
     @checkAuth(FunId = "/workspace/details/notes/add")
-    @Permission(roles = {2})
+    @Permission(roles = {1,2})
     @PostMapping("add")
     @Operation(summary = "选择注释")
     public String add(@RequestBody PatentAnnotation patentAnnotation) {
@@ -47,7 +47,7 @@ public class PatentAnnotationController {
     }
 
     @checkAuth(FunId = "/workspace/details/notes/modify")
-    @Permission(roles = {2})
+    @Permission(roles = {1,2})
     @PostMapping("edit")
     @Operation(summary = "编辑注释")
     public String edit(@RequestBody PatentAnnotation patentAnnotation) {
@@ -55,7 +55,7 @@ public class PatentAnnotationController {
     }
 
     @checkAuth(FunId = "/workspace/details/notes/delete")
-    @Permission(roles = {2})
+    @Permission(roles = {1,2})
     @PostMapping("delete")
     @Operation(summary = "删除注释")
     public String delete(Integer id) {

+ 5 - 5
PAS/src/main/java/cn/cslg/pas/controller/ProjectFieldController.java

@@ -38,7 +38,7 @@ public class ProjectFieldController {
     private final ProjectFieldService projectFieldService;
     private final CacheUtils cacheUtils;
     private final LoginUtils loginUtils;
-    @Permission(roles = {2})
+    @Permission(roles = {1,2,3,4})
     @checkAuth(FunId = "/workspace/common/customField/check")
     @GetMapping("list")
     @Operation(summary = "自定义字段列表")
@@ -46,7 +46,7 @@ public class ProjectFieldController {
         return Response.success(projectFieldService.getPageList(params));
     }
 
-    @Permission(roles = {2})
+    @Permission(roles = {1,2})
     @checkAuth(FunId = "/workspace/common/customField/add")
     @PostMapping("add")
     @Operation(summary = "新增自定义字段")
@@ -54,7 +54,7 @@ public class ProjectFieldController {
         return projectFieldService.add(projectField);
     }
 
-    @Permission(roles = {2})
+    @Permission(roles = {1,2})
     @checkAuth(FunId = "/workspace/common/customField/modify")
     @PostMapping("edit")
     @Operation(summary = "编辑自定义字段")
@@ -62,7 +62,7 @@ public class ProjectFieldController {
         return projectFieldService.edit(projectField);
     }
 
-    @Permission(roles = {2})
+    @Permission(roles = {1,2})
     @checkAuth(FunId = "/workspace/common/customField/delete")
     @PostMapping("delete")
     @Operation(summary = "删除自定义字段")
@@ -96,7 +96,7 @@ public class ProjectFieldController {
         return Response.success(true);
     }
 
-    @Permission(roles = {2})
+    @Permission(roles = {1,2})
     @checkAuth(FunId = "/workspace/common/customField/copy")
     @PostMapping("copy")
     @Operation(summary = "将自定义字段复制到一个专题库中")

+ 12 - 2
PAS/src/main/java/cn/cslg/pas/controller/ProjectImportController.java

@@ -21,6 +21,8 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+
 /**
  * <p>
  * 专题库导入 前端控制器
@@ -41,7 +43,6 @@ public class ProjectImportController {
     private final LoginUtils loginUtils;
     private final UploadPatentBatchService uploadPatentBatchService;
 
-
     @Permission(roles = {2})
     @PostMapping("patent")
     @Operation(summary = "为专题库导入专利")
@@ -96,7 +97,6 @@ public class ProjectImportController {
         cacheUtils.setUserImportId(userId, importId);
         return Response.success(importId);
     }
-
     @GetMapping("ongoing")
     @Operation(summary = "获取用户是否存在导入中的任务")
     public String getProjectImportOngoing() {
@@ -107,4 +107,14 @@ public class ProjectImportController {
         }
         return Response.success(false);
     }
+
+    @PostMapping("importByNos")
+    @Operation(summary = "根据专利号导入专利到专题库")
+    public String importByNos( @RequestBody  ProjectImportVO patentDTO) {
+        List<String> notQuery = projectImportService.importByNos(patentDTO);
+        if (notQuery.size() > 0) {
+            return Response.successBut(notQuery);
+        }
+        return Response.success(true);
+    }
 }

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

@@ -11,6 +11,8 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
+
 /**
  * <p>
  * 任务 前端控制器
@@ -29,7 +31,7 @@ public class TaskController {
 
     @GetMapping("list")
     @Operation(summary = "任务列表")
-    public String getPageList(TaskVO params) {
+    public String getPageList(TaskVO params) throws IOException {
       return Response.success(taskService.getPageList(params));
     }
 

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

@@ -13,7 +13,6 @@ import cn.cslg.pas.mapper.PatentAffairMapper;
 import cn.cslg.pas.common.model.params.PatentAffairParams;
 import cn.cslg.pas.common.utils.PatentUtils;
 import cn.hutool.json.JSONObject;
-import com.alibaba.druid.support.json.JSONUtils;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;

+ 9 - 0
PAS/src/main/java/cn/cslg/pas/service/PatentService.java

@@ -631,6 +631,15 @@ public class PatentService extends ServiceImpl<PatentMapper, Patent> {
 
 // 获得对比专利号
 public String getComPantentNos(QueryPatentVO params){
+    if(params.getObligeeName()!=null) {
+        String obligeeName = params.getObligeeName().replace("(", "\\(");
+        obligeeName = obligeeName.replace(")", "\\)");
+        params.setObligeeName(obligeeName);
+    }
+    if(params.getApplicationName()!=null) {
+        String applicationName =params.getApplicationName().replace("(","\\(");
+        applicationName =applicationName.replace(")","\\)");
+        params.setApplicationName(applicationName);}
   List<String> patents = baseMapper.getListForRMS(params);
   return Response.success(patents);
 }

+ 43 - 1
PAS/src/main/java/cn/cslg/pas/service/ProjectImportService.java

@@ -1,15 +1,21 @@
 package cn.cslg.pas.service;
 
+import cn.cslg.pas.common.model.QueryPatentVO;
+import cn.cslg.pas.common.model.dto.ProductPatentDTO;
 import cn.cslg.pas.common.model.vo.ProjectImportVO;
 import cn.cslg.pas.common.utils.DateUtils;
 import cn.cslg.pas.common.utils.FileUtils;
 import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.common.utils.StringUtils;
+import cn.cslg.pas.domain.Patent;
 import cn.cslg.pas.domain.Project;
 import cn.cslg.pas.domain.ProjectImport;
+import cn.cslg.pas.domain.ProjectPatentLink;
+import cn.cslg.pas.mapper.PatentMapper;
 import cn.cslg.pas.mapper.ProjectImportMapper;
 import cn.hutool.core.io.FileUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -19,7 +25,11 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
 * @author Administrator
@@ -32,7 +42,8 @@ public class ProjectImportService extends ServiceImpl<ProjectImportMapper, Proje
 
     private final FileUtils fileUtils;
     private final ProjectImportStatusService projectImportStatusService;
-
+    private final PatentMapper patentMapper;
+    private final ProjectPatentLinkService projectPatentLinkService;
     public IPage<ProjectImport> getPageList(ProjectImportVO params) {
         IPage<ProjectImport> pageList = baseMapper.getPageList(new Page<>(params.getCurrent(), params.getSize()), params);
         return pageList;
@@ -60,4 +71,35 @@ public class ProjectImportService extends ServiceImpl<ProjectImportMapper, Proje
         projectImport.insert();
         return projectImport.getId();
     }
+
+    /**
+     * 给产品添加相关专利
+     */
+    @Transactional
+    public List<String> importByNos(ProjectImportVO patentDTO) {
+        List<String> orgPatentNos = new ArrayList<>();
+        if (patentDTO.getPatentNo() != null) {
+            patentDTO.setPatentNo(patentDTO.getPatentNo().replace(" ", ""));
+            if (!patentDTO.getPatentNo().equals("")) {
+                QueryPatentVO params =new QueryPatentVO();
+                params.setPatentNo("patentDTO.getPatentNo()");
+                List<Patent> patents =patentMapper.getConPantents(params);
+                List<String> patentNos =patents.stream().map(Patent::getPatentNo).collect(Collectors.toList());
+                String[] strs = patentDTO.getPatentNo().split("\\|");
+                orgPatentNos = new ArrayList<>(Arrays.asList(strs));
+                orgPatentNos.removeAll(patentNos);
+                if (patents.size() > 0) {
+                    List<ProjectPatentLink> projectPatentLinkList =new ArrayList<>();
+                    patents.forEach(item->{
+                        ProjectPatentLink projectPatentLink =new ProjectPatentLink();
+                        projectPatentLink.setProjectId(patentDTO.getProjectId());
+                        projectPatentLink.setPatentId(item.getId());
+                        projectPatentLinkList.add(projectPatentLink);
+                    });
+                    projectPatentLinkService.saveBatch(projectPatentLinkList);
+                }
+            }
+        }
+        return orgPatentNos;
+    }
 }

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

@@ -1,7 +1,13 @@
 package cn.cslg.pas.service;
 
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.model.dto.ClientDTO;
+import cn.cslg.pas.common.model.vo.ProductVO;
+import cn.cslg.pas.common.model.vo.ProjectVO;
 import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.pas.common.utils.StringUtils;
+import cn.cslg.pas.domain.Project;
+import cn.cslg.pas.domain.SystemDict;
 import cn.cslg.pas.domain.Task;
 import cn.cslg.pas.common.model.vo.TaskVO;
 import cn.cslg.pas.mapper.TaskMapper;
@@ -11,6 +17,8 @@ import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.common.model.dto.UploadFileDTO;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.io.FileUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -19,8 +27,11 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
+import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -32,11 +43,11 @@ import java.util.List;
  */
 @Service
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
-public class TaskService extends ServiceImpl<TaskMapper, Task> {
+public class TaskService extends ServiceImpl<TaskMapper,Task> {
 
     private final FileUtils fileUtils;
     private final LoginUtils loginUtils;
-
+    private final RequestService requestService;
     public String getFileUrl(Integer id) {
         Task task = this.getById(id);
         return fileUtils.getSystemPath() + task.getUrl();
@@ -81,8 +92,9 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
         return Response.success(true);
     }
 
-    public IPage<Task> getPageList(TaskVO params) {
+    public IPage<Task> getPageList(TaskVO params) throws IOException {
         IPage<Task> pageList = baseMapper.getPageList(new Page<>(params.getCurrent(), params.getSize()), params);
+        this.setDataList(pageList.getRecords());
         return pageList;
     }
 
@@ -131,4 +143,24 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
         task.updateById();
     }
 
+    private void setDataList(List<Task> taskList) throws IOException {
+        //获得创建人的id集合
+        List<Integer> createIds =taskList.stream().map(Task::getCreateBy).collect(Collectors.toList());
+        //获取专题库负责人对应信息
+        String jsonObject1 = requestService.getPersonnelFromPCS(createIds);
+        JSONArray jsonArray = JSON.parseArray(jsonObject1);
+        List<ProjectVO.Personnel> personnelList = jsonArray.toJavaList(ProjectVO.Personnel.class);
+        for (Task task : taskList) {
+            for (ProjectVO.Personnel personnel : personnelList) {
+                //装载创建人名
+                if(task.getCreateBy()!=null){
+                    if (task.getCreateBy().equals(personnel.getId())) {
+                        task.setCreateName(personnel.getPersonnelName());
+                    }
+                }
+
+            }
+        }
+    }
+
 }

+ 3 - 4
PAS/src/main/resources/mapper/PatentMapper.xml

@@ -1305,12 +1305,11 @@
                             #{item}
                         </foreach>
                     </if>
-
                     <if test="params.applicationName !=null and params.applicationName !=''  ">
-                        and c.name like concat("%",#{params.applicationName}, "%")
+                        and c.name REGEXP #{params.applicationName}
                     </if>
                     <if test="params.obligeeName !=null and params.obligeeName!=''">
-                        and e.name like concat("%", #{params.obligeeName}, "%")
+                        and e.name REGEXP #{params.obligeeName}
                     </if>
                     <if test="params.numberIpc !=null and params.numberIpc!=''">
                         and f.code like concat("%", #{params.numberIpc}, "%")
@@ -1322,7 +1321,7 @@
                         and h.code like concat("%", #{params.numberUpc}, "%")
                     </if>
                     <if test="params.patentNo !=null and params.patentNo !=''">
-                        and a.patentNo like concat("%",#{params.patentNo}, "%")
+                        and a.patentNo REGEXP #{params.patentNo}
                     </if>
                     <if test="params.applicationNo !=null and params.applicationNo !=''">
                         and a.applicationNo like concat("%", #{params.applicationNo}, "%")