chendayu 2 lat temu
rodzic
commit
05d3522bcd

+ 1 - 1
RMS/src/main/java/cn/cslg/report/controller/PatentFiledController.java

@@ -52,7 +52,7 @@ public class PatentFiledController {
 
     @PostMapping("list")
     @Operation(summary = "自定义字段列表")
-    public String getPageList(@RequestBody ReportFieldVO reportFieldVO) {
+    public String getPageList(@RequestBody ReportFieldVO reportFieldVO) throws IOException {
         return reportFieldService.getPageList(reportFieldVO);
     }
 

+ 8 - 3
RMS/src/main/java/cn/cslg/report/entity/ReportField.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
+import lombok.experimental.Accessors;
 
 import java.util.Date;
 import java.util.List;
@@ -19,6 +20,7 @@ import java.util.List;
  * @author 王岩
  * @since 2021-12-16
  */
+@Accessors(chain = true)
 @Data
 @TableName("OS_PATENT_FIELD")
 public class ReportField extends BaseEntity<ReportField> {
@@ -65,6 +67,12 @@ public class ReportField extends BaseEntity<ReportField> {
     private Integer createBy;
 
     /**
+     * 创建人名称
+     */
+    @TableField(exist = false)
+    private String createName;
+
+    /**
      * 创建时间
      */
     @Schema(description ="创建时间")
@@ -99,9 +107,6 @@ public class ReportField extends BaseEntity<ReportField> {
     private List<ReportFieldOption> option;
 
     @TableField(exist = false)
-    private String createName;
-
-    @TableField(exist = false)
     private Boolean enabled = false;
 
     @TableField(exist = false)

+ 2 - 0
RMS/src/main/java/cn/cslg/report/service/OutInterfaceService.java

@@ -309,6 +309,7 @@ public class OutInterfaceService {
                 .build();
         return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
     }
+
     public String getClientNameFromPCS(List<Integer> ids) throws IOException {
         OkHttpClient okHttpClient = new OkHttpClient();
         String param = new Gson().toJson(ids);
@@ -615,6 +616,7 @@ public class OutInterfaceService {
                 .build();
         return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
     }
+
     /**
      * @title 根据条件获得专利信息
      * @description 根据条件获得专利信息

+ 112 - 73
RMS/src/main/java/cn/cslg/report/service/business/ReportFieldService.java

@@ -12,6 +12,9 @@ import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.report.entity.*;
 import cn.cslg.report.entity.asso.AssoTaskPersonel;
 import cn.cslg.report.mapper.ReportFieldMapper;
+import cn.cslg.report.service.OutInterfaceService;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -51,6 +54,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
     private final AssoTaskPersonelService assoTaskPersonelService;
     private final ReportFieldService reportFieldService;
     private final CompareFilesService compareFilesService;
+    private final OutInterfaceService outInterfaceService;
 
     public List<ReportField> getProjectFieldByProjectId(Integer projectId) {
         LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
@@ -113,7 +117,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
     }
 
     //获得自定义字段列表
-    public String getPageList(ReportFieldVO reportFieldVO) {
+    public String getPageList(ReportFieldVO reportFieldVO) throws IOException {
         LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
         if (reportFieldVO.getReportId() != null) {
             queryWrapper.eq(ReportField::getReportId, reportFieldVO.getReportId());
@@ -127,17 +131,52 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
         }
         queryWrapper.orderByDesc(ReportField::getId);
         if (reportFieldVO.getSize() != null && reportFieldVO.getCurrent() != null) {
+            //查询列表
             List<ReportField> reportFields = this.page(new Page<>(reportFieldVO.getCurrent(), reportFieldVO.getSize()), queryWrapper).getRecords();
+            //调用方法,给查询出的列表装载创建人名称
+            reportFields = setCreatePersonNames(reportFields);
             long count = this.count(queryWrapper);
             return Response.success(reportFields, DataUtils.setPageColumn(reportFieldVO.getSize(), reportFieldVO.getCurrent(), Math.toIntExact(count)));
         } else {
+            //查询列表
             List<ReportField> reportFields = this.list(queryWrapper);
+            //调用方法,给查询出的列表装载创建人名称
+            reportFields = setCreatePersonNames(reportFields);
+
             return Response.success(reportFields);
         }
 
     }
 
     /**
+     * 给获得的自定义字段列表装载创建人名称
+     *
+     * @param reportFields 自定义字段列表
+     * @return 返回装载完所有创建人名称的自定义字段列表
+     * @throws IOException 抛出异常
+     */
+    private List<ReportField> setCreatePersonNames(List<ReportField> reportFields) throws IOException {
+        //从列表中取出所有创建人id,并存入集合 createPersonIds
+        ArrayList<Integer> createPersonIds = new ArrayList<>();
+        for (ReportField reportField : reportFields) {
+            createPersonIds.add(reportField.getCreateBy());
+        }
+        //远程调用权限系统根据人员ids获取人员信息personnels
+        String res = outInterfaceService.getPersonnelByIdsFromPCS(createPersonIds);
+        JSONObject jsonObject = JSONObject.parseObject(res);
+        List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
+        //遍历列表和人员信息集合 personnels,给列表装载创建人名称
+        for (ReportField reportField : reportFields) {
+            for (Personnel personnel : personnels) {
+                if (reportField.getCreateBy().equals(personnel.getId())) {
+                    reportField.setCreateName(personnel.getPersonnelName());
+                }
+            }
+        }
+        return reportFields;
+    }
+
+    /**
      * @param reportId 报告ID
      * @param patentNo 专利号
      * @return
@@ -434,14 +473,14 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
                 int t = i;
                 List<PatentQueryFieldSourceVO> temList = list.stream().filter(item -> item.getPaths().size() == t).collect(Collectors.toList());
                 for (PatentQueryFieldSourceVO vo : list) {
-                        if(vo.getPaths().size()==t-1){
-                       List<Integer> counts = temList.stream().filter(item->item.getPaths().containsAll(vo.getPaths())).map(PatentQueryFieldSourceVO::getCount).collect(Collectors.toList());
-                            Integer count =0;
-                       for(Integer intg :counts){
-                           count+=intg;
-                       }
-                           vo.setCount(vo.getCount()+count);
+                    if (vo.getPaths().size() == t - 1) {
+                        List<Integer> counts = temList.stream().filter(item -> item.getPaths().containsAll(vo.getPaths())).map(PatentQueryFieldSourceVO::getCount).collect(Collectors.toList());
+                        Integer count = 0;
+                        for (Integer intg : counts) {
+                            count += intg;
                         }
+                        vo.setCount(vo.getCount() + count);
+                    }
                 }
             }
         }
@@ -642,7 +681,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
             lambdaQueryWrapper.eq(ReportFieldPatentLink::getFieldId, params.getFieldId());
             if (valueIds != null && valueIds.size() > 0) {
                 lambdaQueryWrapper.in(ReportFieldPatentLink::getOptionId, valueIds)
-                                  .eq(ReportFieldPatentLink::getFieldId,params.getFieldId());
+                        .eq(ReportFieldPatentLink::getFieldId, params.getFieldId());
             }
             List<ReportFieldPatentLink> reportFieldPatentLinks = reportFieldPatentLinkService.list(lambdaQueryWrapper);
             if (reportFieldPatentLinks.size() == 0) {
@@ -803,74 +842,74 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
     }
 
     /**
-     * @description 根据报告Id获得自定义字段信息
      * @param reportId
      * @return
+     * @description 根据报告Id获得自定义字段信息
      */
-    public List<Map<String,Object>> getFieldsMap(Integer reportId) {
+    public List<Map<String, Object>> getFieldsMap(Integer reportId) {
         //根据reportId获得自定义字段
-         LambdaQueryWrapper<ReportField> reportFieldWrapper =new LambdaQueryWrapper<ReportField>();
-         reportFieldWrapper.eq(ReportField::getReportId,reportId);
-         List<ReportField> reportFields =this.list(reportFieldWrapper);
-         List<Map<String,Object>> lists =new ArrayList<Map<String,Object>>();
-         //根据自定义字段类型装载map
-         if(reportFields.size()!=0){
-             for (ReportField item :reportFields){
-                 int type1 = item.getType();
-                 switch (type1) {
-                     //数字
-                     case 0:
-                         //日期
-                     case 1:
-                         //文本
-                     case 2:
-                         LambdaQueryWrapper<ReportFieldText> queryWrapper = new LambdaQueryWrapper<>();
-                         queryWrapper.eq(ReportFieldText::getFieldId, item.getId());
-                         List<ReportFieldText> reportFieldTexts = reportFieldTextService.list(queryWrapper);
-                         reportFieldTexts.forEach(tem->{
-                             Map<String,Object> map =new HashMap<>();
-                             map.put("CId",tem.getId());
-                             map.put("FId",tem.getFieldId());
-                             map.put("CName",tem.getText());
-                             lists.add(map);
-                         }
-                         );
-                         break;
-
-                     //单选
-                     case 4:
-
-                         //多选
-                     case 5:
-                         LambdaQueryWrapper<ReportFieldOption> queryWrapper5 = new LambdaQueryWrapper<>();
-                         queryWrapper5.eq(ReportFieldOption::getFieldId,  item.getId());
-                         List<ReportFieldOption> reportFieldOption = reportFieldOptionService.list(queryWrapper5);
-                         reportFieldOption.forEach(tem -> {
-                             Map<String,Object> map =new HashMap<>();
-                             map.put("CId",tem.getId());
-                             map.put("FId",tem.getFieldId());
-                             map.put("CName",tem.getName());
-                             lists.add(map);
-                         });
-                         break;
-                     //树
-                     case 6:
-                         LambdaQueryWrapper<ReportFieldTree> queryWrapper6 = new LambdaQueryWrapper<>();
-                         queryWrapper6.eq(ReportFieldTree::getFieldId, item.getId());
-                         List<ReportFieldTree> reportFieldTrees = reportFieldTreeService.list(queryWrapper6);
-                         reportFieldTrees.forEach(tem -> {
-                             Map<String,Object> map =new HashMap<>();
-                             map.put("CId",tem.getId());
-                             map.put("FId",tem.getFieldId());
-                             map.put("CName",tem.getName());
-                             lists.add(map);
-                         });
-                         break;
-                 }
-
-
-             }
-         }
+        LambdaQueryWrapper<ReportField> reportFieldWrapper = new LambdaQueryWrapper<ReportField>();
+        reportFieldWrapper.eq(ReportField::getReportId, reportId);
+        List<ReportField> reportFields = this.list(reportFieldWrapper);
+        List<Map<String, Object>> lists = new ArrayList<Map<String, Object>>();
+        //根据自定义字段类型装载map
+        if (reportFields.size() != 0) {
+            for (ReportField item : reportFields) {
+                int type1 = item.getType();
+                switch (type1) {
+                    //数字
+                    case 0:
+                        //日期
+                    case 1:
+                        //文本
+                    case 2:
+                        LambdaQueryWrapper<ReportFieldText> queryWrapper = new LambdaQueryWrapper<>();
+                        queryWrapper.eq(ReportFieldText::getFieldId, item.getId());
+                        List<ReportFieldText> reportFieldTexts = reportFieldTextService.list(queryWrapper);
+                        reportFieldTexts.forEach(tem -> {
+                                    Map<String, Object> map = new HashMap<>();
+                                    map.put("CId", tem.getId());
+                                    map.put("FId", tem.getFieldId());
+                                    map.put("CName", tem.getText());
+                                    lists.add(map);
+                                }
+                        );
+                        break;
+
+                    //单选
+                    case 4:
+
+                        //多选
+                    case 5:
+                        LambdaQueryWrapper<ReportFieldOption> queryWrapper5 = new LambdaQueryWrapper<>();
+                        queryWrapper5.eq(ReportFieldOption::getFieldId, item.getId());
+                        List<ReportFieldOption> reportFieldOption = reportFieldOptionService.list(queryWrapper5);
+                        reportFieldOption.forEach(tem -> {
+                            Map<String, Object> map = new HashMap<>();
+                            map.put("CId", tem.getId());
+                            map.put("FId", tem.getFieldId());
+                            map.put("CName", tem.getName());
+                            lists.add(map);
+                        });
+                        break;
+                    //树
+                    case 6:
+                        LambdaQueryWrapper<ReportFieldTree> queryWrapper6 = new LambdaQueryWrapper<>();
+                        queryWrapper6.eq(ReportFieldTree::getFieldId, item.getId());
+                        List<ReportFieldTree> reportFieldTrees = reportFieldTreeService.list(queryWrapper6);
+                        reportFieldTrees.forEach(tem -> {
+                            Map<String, Object> map = new HashMap<>();
+                            map.put("CId", tem.getId());
+                            map.put("FId", tem.getFieldId());
+                            map.put("CName", tem.getName());
+                            lists.add(map);
+                        });
+                        break;
+                }
+
+
+            }
+        }
         return lists;
     }
 }

+ 6 - 7
RMS/src/main/java/cn/cslg/report/service/business/ReportService.java

@@ -132,9 +132,9 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
      */
     @Transactional(rollbackFor = Exception.class)
     public Integer addReport(ReportDTO reportDto, List<MultipartFile> files) throws IOException {
-        //若是侵权和回避报告,并且没有选择审核,则直接将这两个报告状态置为2(处理中)
+        //侵权报告和回避报告,若报告状态不是0(审核)审核或3(完成)则将报告状态置为2(处理中)
         if (reportDto.getType().equals(4) || reportDto.getType().equals(5)) {
-            if (reportDto.getStatus() != null && reportDto.getStatus() != 0) {
+            if (reportDto.getStatus() != null && reportDto.getStatus() != 0 && reportDto.getStatus() != 3) {
                 reportDto.setStatus(2);
             }
         }
@@ -143,15 +143,14 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
         report.insert();
         if (files != null && files.size() != 0) {
             //当
-            if(report.getStatus()!=3){
+            if (report.getStatus() != 3) {
                 //将文档上传并返回文件入库的Id
                 List<Integer> fileIds = reportFileService.uploadFiles(files);
                 assoReportFileService.addAsso(report.getId(), fileIds);
-            }
-            else{
-                ReportReferences reportReferences =new ReportReferences();
+            } else {
+                ReportReferences reportReferences = new ReportReferences();
                 reportReferences.setReportID(report.getId());
-                reportReferencesService.add(reportReferences,files);
+                reportReferencesService.add(reportReferences, files);
             }
         }
         if (reportDto.getTrack() != null && reportDto.getTrack()) {

+ 1 - 1
RMS/src/main/java/cn/cslg/report/service/business/TaskService.java

@@ -677,7 +677,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
         }
 
         List<Task> records = this.page(new Page<>(taskVO.getCurrent(), taskVO.getSize()), lambdaQueryWrapper).getRecords();
-             records =this.reTasks(records);
+        records = this.reTasks(records);
         Long count = this.count(lambdaQueryWrapper);
         return Response.success(records, DataUtils.setPageColumn(taskVO.getSize(), taskVO.getCurrent(), Math.toIntExact(count)));