Browse Source

修改bug

lwhhszx 2 years ago
parent
commit
86015d39e1

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

@@ -3,10 +3,13 @@ package cn.cslg.pas.common.model.vo;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class ProjectImportVO extends BaseVO {
     private Integer projectId;
     private String createName;
     @Schema(description = "专利号")
     private String patentNo;
+    private List<Integer> createIds;
 }

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

@@ -21,6 +21,7 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -66,11 +67,11 @@ public class ProjectImportController {
 
     @GetMapping("list")
     @Operation(summary = "导入任务列表")
-    public String getPageList(ProjectImportVO params) {
+    public String getPageList(ProjectImportVO params) throws IOException {
         return Response.success(projectImportService.getPageList(params));
     }
 
-    @checkAuth(FunId = "/project/import/delete")
+    @checkAuth(FunId = "/workspace/common/taskDelete")
     @PostMapping("delete")
     @Operation(summary = "删除导入任务")
     public String delete(Integer id) {

+ 38 - 5
PAS/src/main/java/cn/cslg/pas/service/ProjectImportService.java

@@ -3,17 +3,17 @@ 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.model.vo.ProjectVO;
 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.domain.*;
 import cn.cslg.pas.mapper.PatentMapper;
 import cn.cslg.pas.mapper.ProjectImportMapper;
 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.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -25,6 +25,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -44,8 +45,20 @@ public class ProjectImportService extends ServiceImpl<ProjectImportMapper, Proje
     private final ProjectImportStatusService projectImportStatusService;
     private final PatentMapper patentMapper;
     private final ProjectPatentLinkService projectPatentLinkService;
-    public IPage<ProjectImport> getPageList(ProjectImportVO params) {
+    private final RequestService requestService;
+    public IPage<ProjectImport> getPageList(ProjectImportVO params) throws IOException {
+        //当查询使用发起人名称时
+        if (params.getCreateName() != null && params.getCreateName() != "") {
+            String res = requestService.getPersonIdByNamePCS(params.getCreateName());
+            List<Integer> createIds = JSONArray.parseArray(res, Integer.class);
+            params.setCreateIds(createIds);
+            //当未查询到时直接返回空页
+            if (createIds == null || createIds.size() == 0) {
+                params.setCreateIds(Arrays.asList(-1));
+            }
+        }
         IPage<ProjectImport> pageList = baseMapper.getPageList(new Page<>(params.getCurrent(), params.getSize()), params);
+         this.setDataList(pageList.getRecords());
         return pageList;
     }
 
@@ -102,4 +115,24 @@ public class ProjectImportService extends ServiceImpl<ProjectImportMapper, Proje
         }
         return orgPatentNos;
     }
+
+    private void setDataList(List<ProjectImport> importList) throws IOException {
+        //获得创建人的id集合
+        List<Integer> createIds =importList.stream().map(ProjectImport::getCreateBy).collect(Collectors.toList());
+        //获取专题库负责人对应信息
+        String jsonObject1 = requestService.getPersonnelFromPCS(createIds);
+        JSONArray jsonArray = JSON.parseArray(jsonObject1);
+        List<ProjectVO.Personnel> personnelList = jsonArray.toJavaList(ProjectVO.Personnel.class);
+        for (ProjectImport projectImport : importList) {
+            for (ProjectVO.Personnel personnel : personnelList) {
+                //装载创建人名
+                if(projectImport.getCreateBy()!=null){
+                    if (projectImport.getCreateBy().equals(personnel.getId())) {
+                        projectImport.setCreateName(personnel.getPersonnelName());
+                    }
+                }
+
+            }
+        }
+    }
 }

+ 10 - 0
PAS/src/main/java/cn/cslg/pas/service/RequestService.java

@@ -164,4 +164,14 @@ public class RequestService {
                 .build();
         return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
     }
+
+    public String getPersonIdByNamePCS(String personName) throws IOException {
+        OkHttpClient okHttpClient = new OkHttpClient();
+        Request request = new Request.Builder()
+                .url(url + "/permission/api/system/getPersonIdByName?personName=" + personName)
+                .get()
+                .build();
+
+        return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
+    }
 }

+ 1 - 1
PAS/src/main/resources/application-dev.yml

@@ -20,7 +20,7 @@ spring:
     druid:
       stat-view-servlet:
         login-username: admin
-        login-password: 123456
+        login-password: Cslg2022+
       web-stat-filter:
         exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
 authorUrl: http://localhost:8871

+ 1 - 1
PAS/src/main/resources/application.yml

@@ -20,7 +20,7 @@ spring:
       max-file-size: 1000MB
       max-request-size: 1000MB
   profiles:
-    active: dev
+    active: prodNetOut
   jackson:
     default-property-inclusion: non_null
     serialization:

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

@@ -9,6 +9,9 @@
             <if test="params.name != '' and params.name != null">
                 and a.name like concat('%', #{params.name}, '%')
             </if>
+            <if test="params.country != '' and params.country != null">
+                and a.country =  #{params.country}
+            </if>
             <if test="params.shortName != '' and params.shortName != null">
                 and a.bname like concat('%', #{params.shortName}, '%')
             </if>

+ 6 - 4
PAS/src/main/resources/mapper/ProjectImportMapper.xml

@@ -4,12 +4,14 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.cslg.pas.mapper.ProjectImportMapper">
     <select id="getPageList" parameterType="cn.cslg.pas.common.model.vo.ProjectImportVO" resultType="cn.cslg.pas.domain.ProjectImport">
-        select a.*, b.name as create_name
+        select a.*
         from os_thematic_import a
-        left join os_distribution b on b.id = a.create_by
         <where>
-            <if test="params.createName != '' and params.createName != null">
-                and b.name like concat('%', #{params.createName}, '%')
+            <if test="params.createIds !=null and params.createIds.size()!=0 ">
+                and a.create_by in
+                <foreach collection="params.createIds" item="item" separator="," open="(" close=")">
+                    #{item}
+                </foreach>
             </if>
         </where>
         order by a.create_time desc