|
@@ -1,4 +1,5 @@
|
|
|
package cn.cslg.report.service.business;
|
|
|
+
|
|
|
import cn.cslg.report.common.model.vo.PatentField;
|
|
|
import cn.cslg.report.common.model.vo.PatentQueryFieldSourceVO;
|
|
|
import cn.cslg.report.common.model.vo.ReportFieldVO;
|
|
@@ -38,15 +39,16 @@ import java.util.stream.Collectors;
|
|
|
@RequiredArgsConstructor(onConstructor_ = {@Lazy})
|
|
|
@SuppressWarnings({"all"})
|
|
|
public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportField> {
|
|
|
- private final ReportFieldMapper reportFieldMapper;
|
|
|
- private final LoginUtils loginUtils;
|
|
|
- private final ReportFieldTextService reportFieldTextService;
|
|
|
- private final ReportFieldOptionService reportFieldOptionService;
|
|
|
- private final ReportFieldTreeService reportFieldTreeService;
|
|
|
- private final ReportFieldPatentLinkService reportFieldPatentLinkService;
|
|
|
-private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
+ private final ReportFieldMapper reportFieldMapper;
|
|
|
+ private final LoginUtils loginUtils;
|
|
|
+ private final ReportFieldTextService reportFieldTextService;
|
|
|
+ private final ReportFieldOptionService reportFieldOptionService;
|
|
|
+ private final ReportFieldTreeService reportFieldTreeService;
|
|
|
+ private final ReportFieldPatentLinkService reportFieldPatentLinkService;
|
|
|
+ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
private final ReportFieldService reportFieldService;
|
|
|
- private ReportField reportField ;
|
|
|
+ private ReportField reportField;
|
|
|
+ private final CompareFilesService compareFilesService;
|
|
|
|
|
|
//增加自定义字段
|
|
|
public String add(ReportField reportField) {
|
|
@@ -59,6 +61,7 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
reportField.insert();
|
|
|
return Response.success(reportField.getId());
|
|
|
}
|
|
|
+
|
|
|
//修改自定义字段
|
|
|
public String edit(ReportField reportField) {
|
|
|
ReportField temp = this.getProjectFieldByName(reportField.getName(), reportField.getReportId());
|
|
@@ -69,28 +72,29 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
reportField.updateById();
|
|
|
return Response.success(true);
|
|
|
}
|
|
|
+
|
|
|
//删除自定义字段
|
|
|
- public String deleteReportId(int reportId, int id){
|
|
|
- reportFieldMapper.deleteReportId(reportId,id);
|
|
|
- return Response.success();
|
|
|
+ public String deleteReportId(int reportId, int id) {
|
|
|
+ reportFieldMapper.deleteReportId(reportId, id);
|
|
|
+ return Response.success();
|
|
|
}
|
|
|
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public String delete(Integer id) {
|
|
|
- this.removeById(id);
|
|
|
- reportFieldTextService.deleteByFieldId(id);
|
|
|
- reportFieldOptionService.deleteByFieldId(id);
|
|
|
- reportFieldTreeService.deleteByFieldId(id);
|
|
|
- reportFieldPatentLinkService.deleteByFieldId(id);
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public String delete(Integer id) {
|
|
|
+ this.removeById(id);
|
|
|
+ reportFieldTextService.deleteByFieldId(id);
|
|
|
+ reportFieldOptionService.deleteByFieldId(id);
|
|
|
+ reportFieldTreeService.deleteByFieldId(id);
|
|
|
+ reportFieldPatentLinkService.deleteByFieldId(id);
|
|
|
return Response.success(true);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- //根据报告Id删除自定义字段
|
|
|
+ //根据报告Id删除自定义字段
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public String deleteByReportId(Integer id) {
|
|
|
- LambdaQueryWrapper<ReportField> queryWrapper =new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ReportField::getReportId,id);
|
|
|
- List<ReportField> reportFields =this.list(queryWrapper);
|
|
|
+ LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ReportField::getReportId, id);
|
|
|
+ List<ReportField> reportFields = this.list(queryWrapper);
|
|
|
reportFieldTextService.deleteByFieldId(id);
|
|
|
reportFieldOptionService.deleteByFieldId(id);
|
|
|
reportFieldTreeService.deleteByFieldId(id);
|
|
@@ -99,36 +103,36 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
return Response.success(true);
|
|
|
}
|
|
|
|
|
|
- //获得自定义字段列表
|
|
|
- public String getPageList(ReportFieldVO reportFieldVO){
|
|
|
- LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- if(reportFieldVO.getReportId()!=null){
|
|
|
- queryWrapper.eq(ReportField::getReportId,reportFieldVO.getReportId());
|
|
|
- }
|
|
|
- if (reportFieldVO.getName() != null) {
|
|
|
- queryWrapper.like(ReportField::getName, reportFieldVO.getName());
|
|
|
- }
|
|
|
- if(reportFieldVO.getReportType()!=null){
|
|
|
- queryWrapper.like(ReportField::getReportType, reportFieldVO.getReportType());
|
|
|
- queryWrapper.isNull((ReportField::getReportId));
|
|
|
- }
|
|
|
- queryWrapper.orderByDesc(ReportField::getId);
|
|
|
- if (reportFieldVO.getSize() != null && reportFieldVO.getCurrent() != null) {
|
|
|
- List<ReportField> reportFields = this.page(new Page<>(reportFieldVO.getCurrent(), reportFieldVO.getSize()), queryWrapper).getRecords();
|
|
|
- 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);
|
|
|
- return Response.success(reportFields);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
+ //获得自定义字段列表
|
|
|
+ public String getPageList(ReportFieldVO reportFieldVO) {
|
|
|
+ LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ if (reportFieldVO.getReportId() != null) {
|
|
|
+ queryWrapper.eq(ReportField::getReportId, reportFieldVO.getReportId());
|
|
|
+ }
|
|
|
+ if (reportFieldVO.getName() != null) {
|
|
|
+ queryWrapper.like(ReportField::getName, reportFieldVO.getName());
|
|
|
+ }
|
|
|
+ if (reportFieldVO.getReportType() != null) {
|
|
|
+ queryWrapper.like(ReportField::getReportType, reportFieldVO.getReportType());
|
|
|
+ queryWrapper.isNull((ReportField::getReportId));
|
|
|
+ }
|
|
|
+ queryWrapper.orderByDesc(ReportField::getId);
|
|
|
+ if (reportFieldVO.getSize() != null && reportFieldVO.getCurrent() != null) {
|
|
|
+ List<ReportField> reportFields = this.page(new Page<>(reportFieldVO.getCurrent(), reportFieldVO.getSize()), queryWrapper).getRecords();
|
|
|
+ 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);
|
|
|
+ return Response.success(reportFields);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
- * @function 查询自定义自定
|
|
|
* @param reportId 报告ID
|
|
|
* @param patentNo 专利号
|
|
|
* @return
|
|
|
+ * @function 查询自定义自定
|
|
|
*/
|
|
|
public List<PatentField> getPatentFieldByPatentIdAndProjectId(Integer reportId, String patentNo) {
|
|
|
List<PatentField> dataList = new ArrayList<>();
|
|
@@ -184,10 +188,10 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * @function 查询自定义字段
|
|
|
- * @param name 自定义字段的名称
|
|
|
- * @param reportId 报告id
|
|
|
+ * @param name 自定义字段的名称
|
|
|
+ * @param reportId 报告id
|
|
|
* @return
|
|
|
+ * @function 查询自定义字段
|
|
|
*/
|
|
|
|
|
|
public ReportField getProjectFieldByName(String name, Integer reportId) {
|
|
@@ -197,70 +201,76 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
return this.getOne(queryWrapper);
|
|
|
}
|
|
|
|
|
|
- //给报告添加默认自定义字段
|
|
|
+ //给报告添加默认自定义字段
|
|
|
public void addDefaultField(Integer reportId, Integer reportType) {
|
|
|
//根据报告类型添加默认自定义字段
|
|
|
LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(ReportField::getReportType, reportType);
|
|
|
queryWrapper.isNull(ReportField::getReportId);
|
|
|
//默认自定义字段
|
|
|
- List<ReportField> reportFields =this.list(queryWrapper);
|
|
|
- if(reportFields!=null&&reportFields.size()!=0)
|
|
|
- {
|
|
|
- reportFields.forEach(p->{
|
|
|
- p.setReportId(reportId);p.setOriginId(p.getId());p.setId(null); p.setCreateName(null);}
|
|
|
- );
|
|
|
- reportFieldService.saveBatch(reportFields);
|
|
|
+ List<ReportField> reportFields = this.list(queryWrapper);
|
|
|
+ if (reportFields != null && reportFields.size() != 0) {
|
|
|
+ reportFields.forEach(p -> {
|
|
|
+ p.setReportId(reportId);
|
|
|
+ p.setOriginId(p.getId());
|
|
|
+ p.setId(null);
|
|
|
+ p.setCreateName(null);
|
|
|
+ }
|
|
|
+ );
|
|
|
+ reportFieldService.saveBatch(reportFields);
|
|
|
}
|
|
|
|
|
|
- reportFields.forEach(p->{
|
|
|
- if(p.getType().equals(1)||p.getType().equals(0)||p.getType().equals(2)){
|
|
|
+ reportFields.forEach(p -> {
|
|
|
+ if (p.getType().equals(1) || p.getType().equals(0) || p.getType().equals(2)) {
|
|
|
|
|
|
}
|
|
|
- if(p.getType().equals(3)||p.getType().equals(4)||p.getType().equals(5)){
|
|
|
+ if (p.getType().equals(3) || p.getType().equals(4) || p.getType().equals(5)) {
|
|
|
//根据自定义字段的ID 从表中查出选项列表
|
|
|
- LambdaQueryWrapper<ReportFieldOption> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(ReportFieldOption::getFieldId, p.getOriginId());
|
|
|
- List<ReportFieldOption> reportFieldOptions =reportFieldOptionService.list(wrapper);
|
|
|
+ LambdaQueryWrapper<ReportFieldOption> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(ReportFieldOption::getFieldId, p.getOriginId());
|
|
|
+ List<ReportFieldOption> reportFieldOptions = reportFieldOptionService.list(wrapper);
|
|
|
|
|
|
- reportFieldOptionService.addBatchs(reportFieldOptions,p.getId());
|
|
|
+ reportFieldOptionService.addBatchs(reportFieldOptions, p.getId());
|
|
|
}
|
|
|
|
|
|
- if(p.getType().equals(6)){
|
|
|
+ if (p.getType().equals(6)) {
|
|
|
LambdaQueryWrapper<ReportFieldTree> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(ReportFieldTree::getFieldId,p.getOriginId());
|
|
|
+ wrapper.eq(ReportFieldTree::getFieldId, p.getOriginId());
|
|
|
List<ReportFieldTree> list = reportFieldTreeService.list(wrapper);
|
|
|
- reportFieldTreeService.addBatchs(list,p.getId());
|
|
|
+ reportFieldTreeService.addBatchs(list, p.getId());
|
|
|
|
|
|
}
|
|
|
});
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- public String getReportField(int reportId,int id){
|
|
|
- List<ReportField> reportFields = reportFieldMapper.find(reportId,id);
|
|
|
+ public String getReportField(int reportId, int id) {
|
|
|
+ List<ReportField> reportFields = reportFieldMapper.find(reportId, id);
|
|
|
return Response.success(reportFields);
|
|
|
}
|
|
|
+
|
|
|
// 查询自定义字段
|
|
|
- public ReportField get(int id){
|
|
|
+ public ReportField get(int id) {
|
|
|
LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ReportField::getId,id);
|
|
|
- return this.list(queryWrapper).get(0);
|
|
|
+ queryWrapper.eq(ReportField::getId, id);
|
|
|
+ return this.list(queryWrapper).get(0);
|
|
|
}
|
|
|
|
|
|
//修改自定义字段
|
|
|
- public String updateReportId(ReportField reportField){
|
|
|
+ public String updateReportId(ReportField reportField) {
|
|
|
reportFieldMapper.updateReportId(reportField);
|
|
|
return Response.success();
|
|
|
}
|
|
|
+
|
|
|
//查询自定义字段
|
|
|
- public List<ReportField> selectAll(int id)throws IOException{
|
|
|
+ public List<ReportField> selectAll(int id) throws IOException {
|
|
|
LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ReportField::getReportId,id);
|
|
|
- return this.list(queryWrapper);
|
|
|
+ queryWrapper.eq(ReportField::getReportId, id);
|
|
|
+ return this.list(queryWrapper);
|
|
|
|
|
|
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 1.接口 根据报告id 查询自定义字段 参数报告id
|
|
|
* 返回该报告下所有的自定义字段
|
|
@@ -271,80 +281,77 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
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++){
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
if (collect.get(i).equals(6)) {
|
|
|
- return Response.success(reportFieldTreeService.getReportFieldTreeNodeByFieldId(list.get(i)));
|
|
|
+ return Response.success(reportFieldTreeService.getReportFieldTreeNodeByFieldId(list.get(i)));
|
|
|
} else {
|
|
|
- return Response.success(reportFieldOptionService.getListByFieldId(list.get(i)));
|
|
|
+ return Response.success(reportFieldOptionService.getListByFieldId(list.get(i)));
|
|
|
}
|
|
|
}
|
|
|
- return Response.success();
|
|
|
+ return Response.success();
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * @function 查询自定义字段,统计与之相关的专利的shuliang
|
|
|
* @param params
|
|
|
* @return
|
|
|
+ * @function 查询自定义字段,统计与之相关的专利的数量
|
|
|
*/
|
|
|
|
|
|
public List<PatentQueryFieldSourceVO> getPatentQuerySourcePageList(PatentQueryFieldSourceVO params) {
|
|
|
- List<PatentQueryFieldSourceVO> list =new ArrayList<>();
|
|
|
-
|
|
|
+ List<PatentQueryFieldSourceVO> list = new ArrayList<>();
|
|
|
//根据fieldId 从patent_field中获得 自定义字段对象
|
|
|
- LambdaQueryWrapper<ReportField> wrapper =new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(ReportField::getId,params.getFieldId());
|
|
|
- if(this.list(wrapper).size()==0){
|
|
|
+ LambdaQueryWrapper<ReportField> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(ReportField::getId, params.getFieldId());
|
|
|
+ if (this.list(wrapper).size() == 0) {
|
|
|
return list;
|
|
|
}
|
|
|
- ReportField reportField =this.list(wrapper).get(0);
|
|
|
-
|
|
|
+ ReportField reportField = this.list(wrapper).get(0);
|
|
|
//根据自定义字段的类型,从三张值表中查询该自定义字段所有值的id
|
|
|
- int type1 =reportField.getType();
|
|
|
- switch (type1){
|
|
|
+ int type1 = reportField.getType();
|
|
|
+ switch (type1) {
|
|
|
//数字
|
|
|
case 0:
|
|
|
//日期
|
|
|
case 1:
|
|
|
//文本
|
|
|
case 2:
|
|
|
- LambdaQueryWrapper<ReportFieldText> queryWrapper =new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ReportFieldText::getFieldId,params.getFieldId());
|
|
|
- List<ReportFieldText> reportFieldTexts =reportFieldTextService.list(queryWrapper);
|
|
|
- reportFieldTexts.forEach(item->{
|
|
|
- PatentQueryFieldSourceVO patentQueryFieldSourceVO=new PatentQueryFieldSourceVO();
|
|
|
- patentQueryFieldSourceVO.setFieldId(params.getFieldId());
|
|
|
- patentQueryFieldSourceVO.setKey(item.getId());
|
|
|
- patentQueryFieldSourceVO.setLabel(item.getText());
|
|
|
- list.add(patentQueryFieldSourceVO);
|
|
|
- });
|
|
|
+ LambdaQueryWrapper<ReportFieldText> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ReportFieldText::getFieldId, params.getFieldId());
|
|
|
+ List<ReportFieldText> reportFieldTexts = reportFieldTextService.list(queryWrapper);
|
|
|
+ reportFieldTexts.forEach(item -> {
|
|
|
+ PatentQueryFieldSourceVO patentQueryFieldSourceVO = new PatentQueryFieldSourceVO();
|
|
|
+ patentQueryFieldSourceVO.setFieldId(params.getFieldId());
|
|
|
+ patentQueryFieldSourceVO.setKey(item.getId());
|
|
|
+ patentQueryFieldSourceVO.setLabel(item.getText());
|
|
|
+ list.add(patentQueryFieldSourceVO);
|
|
|
+ });
|
|
|
break;
|
|
|
|
|
|
- //单选
|
|
|
+ //单选
|
|
|
case 4:
|
|
|
|
|
|
//多选
|
|
|
case 5:
|
|
|
- LambdaQueryWrapper<ReportFieldOption> queryWrapper5 =new LambdaQueryWrapper<>();
|
|
|
- queryWrapper5.eq(ReportFieldOption::getFieldId,params.getFieldId());
|
|
|
+ LambdaQueryWrapper<ReportFieldOption> queryWrapper5 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper5.eq(ReportFieldOption::getFieldId, params.getFieldId());
|
|
|
|
|
|
- List<ReportFieldOption> reportFieldOption =reportFieldOptionService.list(queryWrapper5);
|
|
|
- reportFieldOption.forEach(item->{
|
|
|
- PatentQueryFieldSourceVO patentQueryFieldSourceVO=new PatentQueryFieldSourceVO();
|
|
|
+ List<ReportFieldOption> reportFieldOption = reportFieldOptionService.list(queryWrapper5);
|
|
|
+ reportFieldOption.forEach(item -> {
|
|
|
+ PatentQueryFieldSourceVO patentQueryFieldSourceVO = new PatentQueryFieldSourceVO();
|
|
|
patentQueryFieldSourceVO.setFieldId(params.getFieldId());
|
|
|
patentQueryFieldSourceVO.setKey(item.getId());
|
|
|
patentQueryFieldSourceVO.setLabel(item.getName());
|
|
|
list.add(patentQueryFieldSourceVO);
|
|
|
});
|
|
|
break;
|
|
|
-
|
|
|
- //树
|
|
|
+ //树
|
|
|
case 6:
|
|
|
- LambdaQueryWrapper<ReportFieldTree> queryWrapper6 =new LambdaQueryWrapper<>();
|
|
|
- queryWrapper6.eq(ReportFieldTree::getFieldId,params.getFieldId());
|
|
|
- List<ReportFieldTree> reportFieldTrees =reportFieldTreeService.list(queryWrapper6);
|
|
|
- reportFieldTrees.forEach(item->{
|
|
|
- PatentQueryFieldSourceVO patentQueryFieldSourceVO=new PatentQueryFieldSourceVO();
|
|
|
+ LambdaQueryWrapper<ReportFieldTree> queryWrapper6 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper6.eq(ReportFieldTree::getFieldId, params.getFieldId());
|
|
|
+ List<ReportFieldTree> reportFieldTrees = reportFieldTreeService.list(queryWrapper6);
|
|
|
+ reportFieldTrees.forEach(item -> {
|
|
|
+ PatentQueryFieldSourceVO patentQueryFieldSourceVO = new PatentQueryFieldSourceVO();
|
|
|
patentQueryFieldSourceVO.setFieldId(params.getFieldId());
|
|
|
patentQueryFieldSourceVO.setKey(item.getId());
|
|
|
patentQueryFieldSourceVO.setLabel(item.getName());
|
|
@@ -352,50 +359,77 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
});
|
|
|
break;
|
|
|
}
|
|
|
- List<Integer> valueIds =list.stream().map(PatentQueryFieldSourceVO::getKey).collect(Collectors.toList());
|
|
|
- LambdaQueryWrapper<ReportFieldPatentLink> lambdaQueryWrapper =new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper.eq(ReportFieldPatentLink::getFieldId,params.getFieldId());
|
|
|
- if(valueIds!=null&&valueIds.size()>0){
|
|
|
- lambdaQueryWrapper .in(ReportFieldPatentLink::getOptionId,valueIds);}
|
|
|
- List<ReportFieldPatentLink> reportFieldPatentLinks =reportFieldPatentLinkService.list(lambdaQueryWrapper);
|
|
|
- if(reportFieldPatentLinks.size()==0) {
|
|
|
- list.forEach(item->item.setCount(0));
|
|
|
+ List<Integer> valueIds = list.stream().map(PatentQueryFieldSourceVO::getKey).collect(Collectors.toList());
|
|
|
+ LambdaQueryWrapper<ReportFieldPatentLink> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(ReportFieldPatentLink::getFieldId, params.getFieldId());
|
|
|
+ if (valueIds != null && valueIds.size() > 0) {
|
|
|
+ lambdaQueryWrapper.in(ReportFieldPatentLink::getOptionId, valueIds);
|
|
|
+ }
|
|
|
+ List<ReportFieldPatentLink> reportFieldPatentLinks = reportFieldPatentLinkService.list(lambdaQueryWrapper);
|
|
|
+ if (reportFieldPatentLinks.size() == 0) {
|
|
|
+ list.forEach(item -> item.setCount(0));
|
|
|
return list;
|
|
|
}
|
|
|
- list.forEach(tem->{
|
|
|
- List<ReportFieldPatentLink> part =reportFieldPatentLinks.stream().filter(tm->tm.getFieldId().equals(params.getFieldId())&&tm.getOptionId().equals(tem.getKey()
|
|
|
+ //获得所有专利号
|
|
|
+ List<String> allNos = new ArrayList<>();
|
|
|
+ // 如果是任务清单
|
|
|
+ if (params.getTaskId() != null) {
|
|
|
+ LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(AssoTaskPersonel::getTaskId, params.getTaskId());
|
|
|
+ List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
|
|
|
+ allNos = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ //所有对比文件
|
|
|
+ else {
|
|
|
+ LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(CompareFiles::getReportId, reportField.getReportId());
|
|
|
+ List<CompareFiles> compareFiles = compareFilesService.list(queryWrapper);
|
|
|
+ allNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //记录已被选择的数量
|
|
|
+ Integer choosed=0;
|
|
|
+ for (PatentQueryFieldSourceVO tem:list) {
|
|
|
+ List<ReportFieldPatentLink> part = reportFieldPatentLinks.stream().filter(tm -> tm.getFieldId().equals(params.getFieldId()) && tm.getOptionId().equals(tem.getKey()
|
|
|
)).collect(Collectors.toList());
|
|
|
- if(params.getTaskId()!=null){
|
|
|
- LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(AssoTaskPersonel::getTaskId, params.getTaskId());
|
|
|
- List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
|
|
|
- List<String> taskPatentNos = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
|
|
|
- List<String> partPatentNos = part.stream().map(ReportFieldPatentLink::getPatentNo).collect(Collectors.toList());
|
|
|
- List<String> jiaoList = new ArrayList<>(taskPatentNos);
|
|
|
- jiaoList.retainAll(partPatentNos);
|
|
|
- tem.setCount(jiaoList.size());
|
|
|
- }
|
|
|
- else{
|
|
|
- tem.setCount(part.size());}
|
|
|
+ //如果是任务清单列表
|
|
|
+ if (params.getTaskId() != null) {
|
|
|
+ List<String> partPatentNos = part.stream().map(ReportFieldPatentLink::getPatentNo).collect(Collectors.toList());
|
|
|
+ List<String> jiaoList = new ArrayList<>(allNos);
|
|
|
+ jiaoList.retainAll(partPatentNos);
|
|
|
+ tem.setCount(jiaoList.size());
|
|
|
+ choosed += jiaoList.size();
|
|
|
+ } else {
|
|
|
+ tem.setCount(part.size());
|
|
|
+ choosed+=part.size();
|
|
|
+ }
|
|
|
tem.setType(type1);
|
|
|
- });
|
|
|
+ }
|
|
|
+ //未选择选项
|
|
|
+ PatentQueryFieldSourceVO patentQueryFieldSourceVO = new PatentQueryFieldSourceVO();
|
|
|
+ patentQueryFieldSourceVO.setFieldId(params.getFieldId());
|
|
|
+ patentQueryFieldSourceVO.setKey(null);
|
|
|
+ patentQueryFieldSourceVO.setLabel("未选择");
|
|
|
+ patentQueryFieldSourceVO.setCount(allNos.size()-choosed);
|
|
|
+ //获得所有未选择的数量
|
|
|
//根据值id从ReportFieldPatentLink表中获得信息
|
|
|
return list;
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * @funtion 查询标引内容关联专利
|
|
|
* @param params
|
|
|
* @return
|
|
|
* @throws IOException
|
|
|
+ * @funtion 查询标引内容关联专利
|
|
|
*/
|
|
|
- public List<String> getString(SourceVO params)throws IOException{
|
|
|
- List<String> list =new ArrayList<>();
|
|
|
- LambdaQueryWrapper<ReportFieldPatentLink> lambdaQueryWrapper =new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper.eq(ReportFieldPatentLink::getFieldId,params.getFieldId()).eq(ReportFieldPatentLink::getOptionId,params.getKey());
|
|
|
+ public List<String> getString(SourceVO params) throws IOException {
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<ReportFieldPatentLink> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(ReportFieldPatentLink::getFieldId, params.getFieldId()).eq(ReportFieldPatentLink::getOptionId, params.getKey());
|
|
|
List<ReportFieldPatentLink> reportFieldPatentLinks = reportFieldPatentLinkService.list(lambdaQueryWrapper);
|
|
|
- for(ReportFieldPatentLink reportFieldPatentLink : reportFieldPatentLinks){
|
|
|
+ for (ReportFieldPatentLink reportFieldPatentLink : reportFieldPatentLinks) {
|
|
|
list.add(reportFieldPatentLink.getPatentNo());
|
|
|
}
|
|
|
|
|
@@ -406,35 +440,33 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
/**
|
|
|
* 模糊查询自定义字段(参数:自定义字段的id,和模糊查询的字段文本类型)
|
|
|
* 文本类型,单选,数字类型不用查
|
|
|
+ *
|
|
|
* @return 返回自定义字段
|
|
|
*/
|
|
|
- public String getReportField(int id,String name) {
|
|
|
+ public String getReportField(int id, String name) {
|
|
|
|
|
|
- LambdaQueryWrapper<ReportField> wrapper =new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(ReportField::getId,id);
|
|
|
- ReportField reportField =this.list(wrapper).get(0);
|
|
|
+ LambdaQueryWrapper<ReportField> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(ReportField::getId, id);
|
|
|
+ ReportField reportField = this.list(wrapper).get(0);
|
|
|
//获得类型
|
|
|
- int type1 =reportField.getType();
|
|
|
- if(type1==1){
|
|
|
- LambdaQueryWrapper<ReportFieldText> queryWrapper =new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ReportFieldText::getFieldId, id)
|
|
|
+ int type1 = reportField.getType();
|
|
|
+ if (type1 == 1) {
|
|
|
+ LambdaQueryWrapper<ReportFieldText> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ReportFieldText::getFieldId, id)
|
|
|
.like(ReportFieldText::getText, name);
|
|
|
return Response.success(reportFieldTextService.list(queryWrapper));
|
|
|
- }
|
|
|
- else if(type1==5){
|
|
|
- LambdaQueryWrapper<ReportFieldOption> queryWrapper5 =new LambdaQueryWrapper<>();
|
|
|
- queryWrapper5.eq(ReportFieldOption::getFieldId,id)
|
|
|
- .like(ReportFieldOption::getName,name);
|
|
|
- return Response.success( reportFieldOptionService.list(queryWrapper5));
|
|
|
- }
|
|
|
- else if(type1==6){
|
|
|
- LambdaQueryWrapper<ReportFieldTree> queryWrapper6 =new LambdaQueryWrapper<>();
|
|
|
- queryWrapper6.eq(ReportFieldTree::getFieldId,id)
|
|
|
- .like(ReportFieldTree::getName,name);
|
|
|
+ } else if (type1 == 5) {
|
|
|
+ LambdaQueryWrapper<ReportFieldOption> queryWrapper5 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper5.eq(ReportFieldOption::getFieldId, id)
|
|
|
+ .like(ReportFieldOption::getName, name);
|
|
|
+ return Response.success(reportFieldOptionService.list(queryWrapper5));
|
|
|
+ } else if (type1 == 6) {
|
|
|
+ LambdaQueryWrapper<ReportFieldTree> queryWrapper6 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper6.eq(ReportFieldTree::getFieldId, id)
|
|
|
+ .like(ReportFieldTree::getName, name);
|
|
|
return Response.success(reportFieldTreeService.list(queryWrapper6));
|
|
|
- }
|
|
|
- else {
|
|
|
- return Response.error();
|
|
|
+ } else {
|
|
|
+ return Response.error();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -442,78 +474,79 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
* 自定义字段的id查询专利号
|
|
|
* 并集:当自定义字段的id相同的时候取并集
|
|
|
* 交集:当自定义字段的id不同的时候取交集
|
|
|
+ *
|
|
|
* @param params PatentQueryFieldSourceVO
|
|
|
* @return PatentQueryFieldSourceVO
|
|
|
* @throws IOException
|
|
|
*/
|
|
|
|
|
|
- public List<String> getPatentNo(List<SourceVO> params)throws IOException{
|
|
|
+ public List<String> getPatentNo(List<SourceVO> params) throws IOException {
|
|
|
|
|
|
- if(params.size()==0){
|
|
|
- List<String> list=new ArrayList<>();
|
|
|
- return list;
|
|
|
- }
|
|
|
- else {
|
|
|
+ if (params.size() == 0) {
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+ return list;
|
|
|
+ } else {
|
|
|
return this.getPatentNos(params);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- public List<String> getPatentNos(List<SourceVO> params)throws IOException{
|
|
|
- if(params.size()==1){
|
|
|
- return this.getString(params.get(0));
|
|
|
- }
|
|
|
- return this.gather1(params);
|
|
|
- }
|
|
|
- public List<String> gather1 (List<SourceVO> params) throws IOException {
|
|
|
- //为了求并集
|
|
|
- List<List<String>> str=new ArrayList<>();
|
|
|
- //定义新集合保留老集合
|
|
|
- List<SourceVO> list=new ArrayList<>(params);
|
|
|
- Map<Integer,List<SourceVO>> map=new HashMap<>();
|
|
|
- for(int i=0;i<list.size()-1;i++){
|
|
|
- List<SourceVO> sourceVO=new ArrayList<>();
|
|
|
- for(int j=0;j<list.size();j++){
|
|
|
- if(params.get(i).getFieldId().equals(list.get(j).getFieldId())){
|
|
|
- sourceVO.add(list.get(j));
|
|
|
- list.remove(list.get(j));
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- if(sourceVO.size()!=0){
|
|
|
- map.put(i,sourceVO);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- if(map.size()!=0){
|
|
|
- for(List<SourceVO> sourceVOS :map.values()){
|
|
|
- List<String> str1=new ArrayList<>();
|
|
|
- for(SourceVO sourceVO :sourceVOS){
|
|
|
- List<String> string = this.getString(sourceVO);
|
|
|
- str1.addAll(string);
|
|
|
- }
|
|
|
- str1.stream().distinct().collect(Collectors.toList());
|
|
|
- str.add(str1);
|
|
|
- }
|
|
|
- for(SourceVO sourceVO: list){
|
|
|
- List<String> string = this.getString(sourceVO);
|
|
|
- str.add(string);
|
|
|
- }
|
|
|
-
|
|
|
- }else {
|
|
|
- for(SourceVO sourceVO: list){
|
|
|
- List<String> string = this.getString(sourceVO);
|
|
|
- str.add(string);
|
|
|
- }
|
|
|
- }
|
|
|
- List<String> list1 = str.get(0);
|
|
|
- str.forEach(item -> {
|
|
|
- list1.retainAll((Collection<?>) item);
|
|
|
-
|
|
|
- });
|
|
|
- return list1;
|
|
|
-
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<String> getPatentNos(List<SourceVO> params) throws IOException {
|
|
|
+ if (params.size() == 1) {
|
|
|
+ return this.getString(params.get(0));
|
|
|
+ }
|
|
|
+ return this.gather1(params);
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<String> gather1(List<SourceVO> params) throws IOException {
|
|
|
+ //为了求并集
|
|
|
+ List<List<String>> str = new ArrayList<>();
|
|
|
+ //定义新集合保留老集合
|
|
|
+ List<SourceVO> list = new ArrayList<>(params);
|
|
|
+ Map<Integer, List<SourceVO>> map = new HashMap<>();
|
|
|
+ for (int i = 0; i < list.size() - 1; i++) {
|
|
|
+ List<SourceVO> sourceVO = new ArrayList<>();
|
|
|
+ for (int j = 0; j < list.size(); j++) {
|
|
|
+ if (params.get(i).getFieldId().equals(list.get(j).getFieldId())) {
|
|
|
+ sourceVO.add(list.get(j));
|
|
|
+ list.remove(list.get(j));
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (sourceVO.size() != 0) {
|
|
|
+ map.put(i, sourceVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if (map.size() != 0) {
|
|
|
+ for (List<SourceVO> sourceVOS : map.values()) {
|
|
|
+ List<String> str1 = new ArrayList<>();
|
|
|
+ for (SourceVO sourceVO : sourceVOS) {
|
|
|
+ List<String> string = this.getString(sourceVO);
|
|
|
+ str1.addAll(string);
|
|
|
+ }
|
|
|
+ str1.stream().distinct().collect(Collectors.toList());
|
|
|
+ str.add(str1);
|
|
|
+ }
|
|
|
+ for (SourceVO sourceVO : list) {
|
|
|
+ List<String> string = this.getString(sourceVO);
|
|
|
+ str.add(string);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ for (SourceVO sourceVO : list) {
|
|
|
+ List<String> string = this.getString(sourceVO);
|
|
|
+ str.add(string);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<String> list1 = str.get(0);
|
|
|
+ str.forEach(item -> {
|
|
|
+ list1.retainAll((Collection<?>) item);
|
|
|
+
|
|
|
+ });
|
|
|
+ return list1;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|