|
@@ -50,6 +50,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
|
private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
private final ReportFieldService reportFieldService;
|
|
|
private final CompareFilesService compareFilesService;
|
|
|
+
|
|
|
public List<ReportField> getProjectFieldByProjectId(Integer projectId) {
|
|
|
LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(ReportField::getReportId, projectId);
|
|
@@ -305,6 +306,8 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
|
* @function 查询自定义字段,统计与之相关的专利的数量
|
|
|
*/
|
|
|
public List<PatentQueryFieldSourceVO> getPatentQuerySourcePageList(PatentQueryFieldSourceVO params) {
|
|
|
+ //记录树最大长度
|
|
|
+ Integer treeLevel = 0;
|
|
|
List<PatentQueryFieldSourceVO> list = new ArrayList<>();
|
|
|
//根据fieldId 从patent_field中获得 自定义字段对象
|
|
|
LambdaQueryWrapper<ReportField> wrapper = new LambdaQueryWrapper<>();
|
|
@@ -374,13 +377,18 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
|
LambdaQueryWrapper<ReportFieldTree> queryWrapper6 = new LambdaQueryWrapper<>();
|
|
|
queryWrapper6.eq(ReportFieldTree::getFieldId, params.getFieldId());
|
|
|
List<ReportFieldTree> reportFieldTrees = reportFieldTreeService.list(queryWrapper6);
|
|
|
- reportFieldTrees.forEach(item -> {
|
|
|
+ for (ReportFieldTree item : reportFieldTrees) {
|
|
|
PatentQueryFieldSourceVO patentQueryFieldSourceVO = new PatentQueryFieldSourceVO();
|
|
|
patentQueryFieldSourceVO.setFieldId(params.getFieldId());
|
|
|
+ String[] arr1 = item.getPath().split("\\/");
|
|
|
+ patentQueryFieldSourceVO.setPaths(Arrays.asList(arr1));
|
|
|
+ if (patentQueryFieldSourceVO.getPaths().size() > treeLevel) {
|
|
|
+ treeLevel = patentQueryFieldSourceVO.getPaths().size();
|
|
|
+ }
|
|
|
patentQueryFieldSourceVO.setKey(item.getId());
|
|
|
patentQueryFieldSourceVO.setLabel(item.getName());
|
|
|
list.add(patentQueryFieldSourceVO);
|
|
|
- });
|
|
|
+ }
|
|
|
break;
|
|
|
}
|
|
|
List<Integer> valueIds = list.stream().map(PatentQueryFieldSourceVO::getKey).collect(Collectors.toList());
|
|
@@ -419,6 +427,23 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
|
}
|
|
|
tem.setType(type1);
|
|
|
}
|
|
|
+//当是树类型时,对数量进行格式化
|
|
|
+ if (type1 == 6) {
|
|
|
+ for (int i = treeLevel; i > 1; i--) {
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
//未选择选项
|
|
|
PatentQueryFieldSourceVO patentQueryFieldSourceVO = new PatentQueryFieldSourceVO();
|
|
|
patentQueryFieldSourceVO.setFieldId(params.getFieldId());
|
|
@@ -426,6 +451,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
|
patentQueryFieldSourceVO.setLabel("未选择");
|
|
|
patentQueryFieldSourceVO.setCount(allNos.size() - choosed);
|
|
|
list.add(patentQueryFieldSourceVO);
|
|
|
+
|
|
|
//获得所有未选择的数量
|
|
|
//根据值id从ReportFieldPatentLink表中获得信息
|
|
|
return list;
|
|
@@ -466,7 +492,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
|
*/
|
|
|
|
|
|
public String getReportField(PatentQueryFieldSourceVO params) {
|
|
|
- if (params.getName() != null&¶ms.getName()!="") {
|
|
|
+ if (params.getName() != null && params.getName() != "") {
|
|
|
List<PatentQueryFieldSourceVO> list = new ArrayList<>();
|
|
|
LambdaQueryWrapper<ReportField> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(ReportField::getId, params.getFieldId());
|
|
@@ -490,9 +516,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
|
list.add(param);
|
|
|
}
|
|
|
|
|
|
- }
|
|
|
-
|
|
|
- else if (type1 == 5 || type1 == 4) {
|
|
|
+ } else if (type1 == 5 || type1 == 4) {
|
|
|
LambdaQueryWrapper<ReportFieldOption> queryWrapper5 = new LambdaQueryWrapper<>();
|
|
|
queryWrapper5.eq(ReportFieldOption::getFieldId, params.getFieldId());
|
|
|
|
|
@@ -515,24 +539,23 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
|
} else if (type1 == 6) {
|
|
|
LambdaQueryWrapper<ReportFieldTree> queryWrapper6 = new LambdaQueryWrapper<>();
|
|
|
queryWrapper6.eq(ReportFieldTree::getFieldId, params.getFieldId());
|
|
|
- queryWrapper6.like(ReportFieldTree::getName, params.getName());
|
|
|
- List<ReportFieldTree> list1 = reportFieldTreeService.list(queryWrapper6);
|
|
|
- for (ReportFieldTree a : list1) {
|
|
|
- PatentQueryFieldSourceVO param = new PatentQueryFieldSourceVO();
|
|
|
- LambdaQueryWrapper<ReportFieldPatentLink> wrapper1 = new LambdaQueryWrapper<>();
|
|
|
- wrapper1.eq(ReportFieldPatentLink::getFieldId, a.getFieldId()).eq(ReportFieldPatentLink::getOptionId, a.getId());
|
|
|
- param.setName(a.getName());
|
|
|
- param.setType(type1);
|
|
|
- param.setFieldId(a.getFieldId());
|
|
|
- param.setKey(a.getId());
|
|
|
- param.setCount(reportFieldPatentLinkService.list(wrapper1).size());
|
|
|
- list.add(param);
|
|
|
- }
|
|
|
-
|
|
|
+ queryWrapper6.like(ReportFieldTree::getName, params.getName());
|
|
|
+ List<ReportFieldTree> list1 = reportFieldTreeService.list(queryWrapper6);
|
|
|
+ for (ReportFieldTree a : list1) {
|
|
|
+ PatentQueryFieldSourceVO param = new PatentQueryFieldSourceVO();
|
|
|
+ LambdaQueryWrapper<ReportFieldPatentLink> wrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ wrapper1.eq(ReportFieldPatentLink::getFieldId, a.getFieldId()).eq(ReportFieldPatentLink::getOptionId, a.getId());
|
|
|
+ param.setName(a.getName());
|
|
|
+ param.setType(type1);
|
|
|
+ param.setFieldId(a.getFieldId());
|
|
|
+ param.setKey(a.getId());
|
|
|
+ param.setCount(reportFieldPatentLinkService.list(wrapper1).size());
|
|
|
+ list.add(param);
|
|
|
}
|
|
|
+
|
|
|
+ }
|
|
|
return Response.success(list);
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
List<PatentQueryFieldSourceVO> list = new ArrayList<>();
|
|
|
//根据fieldId 从patent_field中获得 自定义字段对象
|
|
|
LambdaQueryWrapper<ReportField> wrapper = new LambdaQueryWrapper<>();
|
|
@@ -665,6 +688,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 自定义字段的id查询专利号
|
|
|
* 并集:当自定义字段的id相同的时候取并集
|