chenyi 2 jaren geleden
bovenliggende
commit
c479bed285

+ 19 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/PatentQueryFieldSourceVO.java

@@ -0,0 +1,19 @@
+package cn.cslg.report.common.model.vo;
+
+import lombok.Data;
+
+@Data
+public class PatentQueryFieldSourceVO {
+    private Integer projectId;
+    private String key;
+    private String folder;
+    private String label;
+    private String type;
+    private String startDate;
+    private String endDate;
+    private PatentVO queryParams;
+    private Integer applicantType;
+    private Integer applicantStatus;
+    private Integer customFieldId;
+    private Integer customFieldTreeType;
+}

+ 12 - 2
RMS/src/main/java/cn/cslg/report/controller/CompareFilesController.java

@@ -1,12 +1,15 @@
 package cn.cslg.report.controller;
 
 import cn.cslg.report.common.core.base.Constants;
+import cn.cslg.report.common.model.dto.PatentQueryFieldSourceDTO;
 import cn.cslg.report.common.model.vo.CompareFileVO;
 import cn.cslg.report.common.model.vo.PatentIndexSettingVO;
+import cn.cslg.report.common.model.vo.PatentQueryFieldSourceVO;
 import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.entity.CompareFiles;
 import cn.cslg.report.service.business.CompareFilesService;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.RequiredArgsConstructor;
@@ -32,9 +35,16 @@ public class CompareFilesController {
     @PostMapping("/index/setting")
     @Operation(summary = "获取专利标引情况")
     public String getPatentIndexSetting(@RequestBody PatentIndexSettingVO params) throws IOException {
-        compareFilesService.getPatentIndexSetting(params);
-        return Response.success(true);
+         compareFilesService.getPatentIndexSetting(params);
+       return Response.success();
     }
+    @PostMapping("/query/source")
+    @Operation(summary = "查看字段的统计数据")
+    public String getPatentQuerySourcePageList(@RequestBody PatentQueryFieldSourceVO params) {
+        return Response.success(compareFilesService.getPatentQuerySourcePageList(params));
+    }
+
+
 
 
 

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

@@ -1,14 +1,21 @@
 package cn.cslg.report.controller;
 
 import cn.cslg.report.common.core.base.Constants;
+import cn.cslg.report.common.model.dto.PatentQueryFieldSourceDTO;
+import cn.cslg.report.common.model.vo.PatentIndexSettingVO;
+import cn.cslg.report.common.model.vo.PatentQueryFieldSourceVO;
 import cn.cslg.report.common.model.vo.ReportFieldVO;
 import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.common.utils.StringUtils;
 import cn.cslg.report.entity.ReportField;
 import cn.cslg.report.entity.ReportFieldOption;
+import cn.cslg.report.entity.SysDictItem;
 import cn.cslg.report.service.business.CompareFilesService;
 import cn.cslg.report.service.business.ReportFieldOptionService;
 import cn.cslg.report.service.business.ReportFieldService;
 import cn.cslg.report.service.business.ReportFieldTreeService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.RequiredArgsConstructor;
@@ -16,6 +23,10 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Tag(name = "自定义字段")
 @RestController
@@ -25,6 +36,7 @@ public class PatentFiledController {
     private final ReportFieldService reportFieldService;
     private final ReportFieldTreeService reportFieldTreeService;
     private final ReportFieldOptionService reportFieldOptionService;
+
     @PostMapping("add")
     @Operation(summary = "新增自定义字段")
     public String add(@RequestBody ReportField reportFieldField) {
@@ -35,7 +47,7 @@ public class PatentFiledController {
     @Operation(summary = "编辑自定义字段")
     public String edit(@RequestBody ReportField reportField) {
         Integer reportId = reportField.getReportId();
-        if(reportId!=null){
+        if (reportId != null) {
             return reportFieldService.updateReportId(reportField);
         }
 
@@ -44,7 +56,7 @@ public class PatentFiledController {
 
     @GetMapping("delete")
     @Operation(summary = "删除自定义字段")
-    public String delete(Integer id,Integer reportId) {
+    public String delete(Integer id, Integer reportId) {
 
         return reportFieldService.delete(id);
     }
@@ -57,14 +69,15 @@ public class PatentFiledController {
 
     @GetMapping("option/list")
     @Operation(summary = "选项列表")
-    public String getList(Integer fieldId,Integer type ,Integer reportId)throws IOException {
-            if (type == 6) {
-                return Response.success(reportFieldTreeService.getReportFieldTreeNodeByFieldId(fieldId));
-            } else {
-                return Response.success(reportFieldOptionService.getListByFieldId(fieldId));
-            }
+    public String getList(Integer fieldId, Integer type, Integer reportId) throws IOException {
+        if (type == 6) {
+            return Response.success(reportFieldTreeService.getReportFieldTreeNodeByFieldId(fieldId));
+        } else {
+            return Response.success(reportFieldOptionService.getListByFieldId(fieldId));
+        }
 
     }
+
     @PostMapping("update")
     @Operation(summary = "更新选项")
     public String update(@RequestBody ReportFieldOption reportFieldOption) {
@@ -73,7 +86,7 @@ public class PatentFiledController {
 
     @GetMapping("option/delete")
     @Operation(summary = "删除选项")
-    public String delete(Integer type, Integer id,Integer reportId) {
+    public String delete(Integer type, Integer id, Integer reportId) {
 //        if(reportId!=null){
 //          return reportFieldService.deleteReportId(reportId,id);
 //        }
@@ -84,4 +97,9 @@ public class PatentFiledController {
         }
         return Response.success(true);
     }
-}
+    @GetMapping("option/setect")
+    @Operation(summary = "报告id查找")
+    public String setect(Integer reportId)throws IOException{
+        return reportFieldService.selectReportField(reportId);
+    }
+}

+ 107 - 10
RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java

@@ -1,20 +1,24 @@
 package cn.cslg.report.service.business;
 
+import cn.cslg.report.common.core.base.Constants;
 import cn.cslg.report.common.model.dto.CustomFieldLabelDTO;
-import cn.cslg.report.common.model.dto.LabelDTO;
-import cn.cslg.report.common.model.vo.CompareFileVO;
+import cn.cslg.report.common.model.dto.PatentQueryFieldSourceDTO;
 import cn.cslg.report.common.model.vo.CompareFilesVO;
 import cn.cslg.report.common.model.vo.PatentIndexSettingVO;
+import cn.cslg.report.common.model.vo.PatentQueryFieldSourceVO;
 import cn.cslg.report.common.model.vo.PatentVO;
 
 import cn.cslg.report.common.utils.JsonUtils;
 import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.common.utils.StringUtils;
 import cn.cslg.report.entity.*;
 import cn.cslg.report.mapper.CompareFilesMapper;
 import cn.cslg.report.service.OutInterfaceService;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import lombok.RequiredArgsConstructor;
@@ -42,6 +46,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     private final ReportFieldOptionService reportFieldOptionService;
     private final AssoComapareFielService assoComapareFielService;
     private final ReportFieldPatentLinkService reportFieldPatentLinkService;
+    private final  SysDictItemService sysDictItemService;
 
     @Transactional(rollbackFor = Exception.class)
     public String addCompareFile(CompareFilesVO compareFilesVO) throws IOException {
@@ -184,13 +189,9 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
 
     public List<CustomFieldLabelDTO> setAll(Integer reportId, String patentNos) throws IOException{
         List<CustomFieldLabelDTO> dataList = new ArrayList<>();
-        List<ReportFieldPatentLink> reportFieldPatentLinks = reportFieldPatentLinkService.get(reportId);
-        List<ReportField> reportFields = new ArrayList<>();
-        for(ReportFieldPatentLink a :reportFieldPatentLinks){
-            ReportField reportField = reportFieldService.get(a.getFieldId());
-            reportFields.add(reportField);
+        List<ReportField> reportFields = reportFieldService.selectAll(reportId);
+
 
-        }
         for(ReportField reportField:reportFields) {
             PatentIndexSettingVO params = new PatentIndexSettingVO();
             CustomFieldLabelDTO data = new CustomFieldLabelDTO();
@@ -205,17 +206,113 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
             dataList.add(data);
 
         }
+
         return dataList;
 
 
+
     }
+
     @Transactional(rollbackFor = Exception.class)
     public void getPatentIndexSetting(PatentIndexSettingVO params)throws IOException {
-        reportFieldPatentLinkService.updatePatentIndexSetting(params);
-    }
+       reportFieldPatentLinkService.updatePatentIndexSetting(params);
 
+    }
+    public IPage<PatentQueryFieldSourceDTO> getPatentQuerySourcePageList(PatentQueryFieldSourceVO params) {
+        return this.getPatentAttributeSourcePageList(params);
+    }
 
+    public IPage<PatentQueryFieldSourceDTO> getPatentAttributeSourcePageList(PatentQueryFieldSourceVO params) {
+        this.setPatentQuerySourceParams(params);
+        if (params.getKey().equals("40-0")) {
+            Integer projectId = params.getProjectId();
+//            List<PatentQueryFieldSourceDTO> dataList = baseMapper.getCountStatus(projectId);
+            List<PatentQueryFieldSourceDTO> lstA = new ArrayList<>();
+            List<PatentQueryFieldSourceDTO> lstB = new ArrayList<>();
+//            dataList.forEach(item -> {
+//                if (StringUtils.changeStringToString(item.getLabel(), "\\|").size() > 1) {
+//                    lstA.add(item);
+//                } else {
+//                    lstB.add(item);
+//                }
+//            });
+            lstA.forEach(item -> {
+                List<String> stringList = StringUtils.changeStringToString(item.getLabel(), "\\|");
 
+                stringList.forEach(x -> {
+                    List<PatentQueryFieldSourceDTO> lstC = new ArrayList<>();
+                    for (PatentQueryFieldSourceDTO patentQueryFieldSourceDTO : lstB) {
+                        if (!lstB.stream().map(PatentQueryFieldSourceDTO::getLabel).collect(Collectors.toList()).contains(x)) {
+                            PatentQueryFieldSourceDTO a = new PatentQueryFieldSourceDTO();
+                            a.setCount(item.getCount());
+                            a.setLabel(x);
+                            lstC.add(a);
+                            break;
+                        }
+                        if (patentQueryFieldSourceDTO.getLabel().equals(x)) {
+                            patentQueryFieldSourceDTO.setCount(patentQueryFieldSourceDTO.getCount() + item.getCount());
+                        }
+                    }
+                    lstB.addAll(lstC);
+                });
+            });
+            List<SysDictItem> systemDictList = sysDictItemService.getSystemDictListByType(Collections.singletonList(Constants.PATENT_STATUS));
+            lstB.forEach(b -> {
+                Integer status = Integer.parseInt(systemDictList.stream()
+                        .filter(systemDict -> systemDict.getType().equals(Constants.PATENT_STATUS) && systemDict.getLabel().equals(b.getLabel()))
+                        .findFirst()
+                        .orElse(new SystemDict()).getValue());
+                b.setValue(String.valueOf(status));
+            });
+            IPage<PatentQueryFieldSourceDTO> pageList = baseMapper.getPatentQuerySourcePageList(new Page<>(params.getCurrent(), params.getSize()), params, new ArrayList<>());
+            pageList.setRecords(lstB);
+            return pageList;
+        }
+        IPage<PatentQueryFieldSourceDTO> pageList = baseMapper.getPatentQuerySourcePageList(new Page<>(params.getCurrent(), params.getSize()), params, new ArrayList<>());
+        pageList.getRecords().forEach(item -> item.setIds(null));
+        return pageList;
+    }
+    private void setPatentQuerySourceParams(PatentQueryFieldSourceVO params) {
+        List<Integer> field = StringUtils.changeStringToInteger(params.getKey(), "-");
+        Integer type = 0;
+        Integer level = 0;
+        Integer status = 0;
+        switch (params.getKey()) {
+            case "18-6":
+            case "18-7":
+            case "18-8":
+            case "23-6":
+            case "23-7":
+            case "23-8":
+                params.setApplicantType(2);
+                break;
+            case "19-6":
+            case "19-7":
+            case "19-8":
+            case "24-6":
+            case "24-7":
+            case "24-8":
+                params.setApplicantType(1);
+                break;
+            case "29-17":
+            case "30-17":
+            case "29-18":
+            case "29-19":
+            case "29-20":
+            case "30-18":
+            case "30-19":
+            case "30-20":
+                params.setApplicantType(field.get(0) == 29 ? 2 : 1);
+                break;
+            default:
+                params.setCustomFieldId(field.get(0));
+                if (params.getType().equals("6") && field.get(1).equals(0)) {
+                    params.setCustomFieldTreeType(0);
+                } else {
+                    params.setCustomFieldTreeType(null);
+                }
+        }
+    }
 
 
 }

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

@@ -51,7 +51,9 @@ public class ReportFieldPatentLinkService extends ServiceImpl<ReportFieldPatentL
         queryWrapper.eq(ReportFieldPatentLink::getPatentNo, patentNo);
         queryWrapper.eq(ReportFieldPatentLink::getReportId, projectId);
         queryWrapper.eq(ReportFieldPatentLink::getFieldId, fieldId);
-        return this.list(queryWrapper);
+        List<ReportFieldPatentLink> list = this.list(queryWrapper);
+        int i=list.size();
+        return list;
     }
 
     public ReportFieldPatentLink getProjectPatentLinkByPatentAndProjectIdAndFieldIdAndOptionId(Integer patentId, Integer projectId, Integer fieldId, Integer optionId) {

+ 33 - 6
RMS/src/main/java/cn/cslg/report/service/business/ReportFieldService.java

@@ -3,19 +3,14 @@ package cn.cslg.report.service.business;
 import cn.cslg.report.common.model.vo.PatentField;
 import cn.cslg.report.common.model.vo.ReportFieldVO;
 import cn.cslg.report.common.utils.DataUtils;
-import cn.cslg.report.common.utils.DateUtils;
 import cn.cslg.report.common.utils.PatentUtils;
 import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.report.entity.*;
 import cn.cslg.report.mapper.ReportFieldMapper;
-import cn.hutool.core.lang.tree.Tree;
 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;
-import io.swagger.v3.oas.models.security.SecurityScheme;
 import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -189,7 +184,39 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
 
 
     }
+    /**
+     * 1.接口 根据报告id 查询自定义字段 参数报告id
+     * 返回该报告下所有的自定义字段
+     */
+
+
+    public String selectReportField(int reportId) throws IOException {
+        List<ReportField> reportFields = this.selectAll(reportId);
+        List<Integer> collect = reportFields.stream().map(ReportField::getReportType).collect(Collectors.toList());
+        List<Integer> list = reportFields.stream().map(ReportField::getId).collect(Collectors.toList());
+        for(int i=0;i<list.size();i++){
+            if (collect.get(i).equals(6)) {
+              return Response.success(reportFieldTreeService.getReportFieldTreeNodeByFieldId(list.get(i)));
+            } else {
+               return Response.success(reportFieldOptionService.getListByFieldId(list.get(i)));
+            }
+        }
+          return Response.success();
+
+    }
+
+    /**
+     * 统计(自定义字段的id和报告id)查询哪些专利号与之对应
+     * 返回相关的专利的数量
+     */
+
+    /**
+     *
+     */
+
+    }
+
+
 
 
 
-}

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

@@ -7,6 +7,7 @@ import cn.cslg.report.common.model.vo.SystemDictVO;
 import cn.cslg.report.common.utils.*;
 import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.report.entity.Report;
+import cn.cslg.report.entity.ReportField;
 import cn.cslg.report.mapper.ReportMapper;
 import cn.cslg.report.service.OutInterfaceService;
 import com.alibaba.fastjson.JSONArray;
@@ -135,4 +136,5 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
     }
 
 
+
 }

+ 28 - 0
RMS/src/main/java/cn/cslg/report/service/business/SysDictItemService.java

@@ -0,0 +1,28 @@
+package cn.cslg.report.service.business;
+
+import cn.cslg.report.entity.SysDictItem;
+import cn.cslg.report.mapper.SystemDictItemMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@Slf4j
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
+public class SysDictItemService extends ServiceImpl<SystemDictItemMapper, SysDictItem> {
+    public List<SysDictItem> getSystemDictListByType(List<String> type) {
+        if (type == null || type.size() == 0) {
+            return new ArrayList<>();
+        }
+        LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(SysDictItem::, type);
+        return this.list(queryWrapper);
+    }
+
+}

File diff suppressed because it is too large
+ 0 - 20124
logs/rms/rms-debug.2022-11-24.0.log


File diff suppressed because it is too large
+ 7651 - 0
logs/rms/rms-debug.2022-12-01.0.log


File diff suppressed because it is too large
+ 0 - 721
logs/rms/rms-info.2022-11-24.0.log


File diff suppressed because it is too large
+ 993 - 0
logs/rms/rms-info.2022-12-01.0.log