|
@@ -46,7 +46,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
|
private final ReportFieldPatentLinkService reportFieldPatentLinkService;
|
|
|
private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
private final ReportFieldService reportFieldService;
|
|
|
-
|
|
|
+//增加自定义字段
|
|
|
public String add(ReportField reportField) {
|
|
|
ReportField temp = this.getProjectFieldByName(reportField.getName(), reportField.getReportId());
|
|
|
if (temp != null) {
|
|
@@ -57,6 +57,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());
|
|
|
if (temp != null && !temp.getId().equals(reportField.getId())) {
|
|
@@ -110,7 +111,7 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
queryWrapper.isNull((ReportField::getReportId));
|
|
|
}
|
|
|
queryWrapper.orderByDesc(ReportField::getId);
|
|
|
- if (reportFieldVO.getSize() != null && reportFieldVO.getSize() != null) {
|
|
|
+ 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)));
|
|
@@ -121,10 +122,17 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @function 查询自定义自定
|
|
|
+ * @param reportId 报告ID
|
|
|
+ * @param patentNo 专利号
|
|
|
+ * @return
|
|
|
+ */
|
|
|
public List<PatentField> getPatentFieldByPatentIdAndProjectId(Integer reportId, String patentNo) {
|
|
|
List<PatentField> dataList = new ArrayList<>();
|
|
|
List<ReportFieldPatentLink> linkList = reportFieldPatentLinkService.getProjectPatentLinkByPatentAndProId(patentNo, reportId);
|
|
|
List<Integer> fieldIds = linkList.stream().map(ReportFieldPatentLink::getFieldId).distinct().collect(Collectors.toList());
|
|
|
+ //分类
|
|
|
List<Integer> optionIds = linkList.stream().map(ReportFieldPatentLink::getOptionId).distinct().collect(Collectors.toList());
|
|
|
List<ReportField> fieldList = this.getFieldListByIds(fieldIds);
|
|
|
List<ReportFieldText> textList = reportFieldTextService.getProjectFieldTextByFieldIds(fieldIds);
|
|
@@ -135,18 +143,22 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
data.setId(field.getId());
|
|
|
data.setName(field.getName());
|
|
|
data.setType(field.getType());
|
|
|
+ //根据类型分类查询
|
|
|
switch (field.getType()) {
|
|
|
case 0:
|
|
|
case 1:
|
|
|
+ //文本类型
|
|
|
case 2:
|
|
|
data.setSelected(textList.stream().filter(item -> item.getFieldId().equals(field.getId()) && optionIds.contains(item.getId())).map(ReportFieldText::getText).distinct().collect(Collectors.toList()));
|
|
|
break;
|
|
|
case 3:
|
|
|
case 4:
|
|
|
case 5:
|
|
|
+ //选项类型
|
|
|
data.setSelected(optionList.stream().filter(item -> item.getFieldId().equals(field.getId()) && optionIds.contains(item.getId())).map(ReportFieldOption::getName).distinct().collect(Collectors.toList()));
|
|
|
break;
|
|
|
case 6:
|
|
|
+ //树类型
|
|
|
List<ReportFieldTree> trees = treeList.stream().filter(item -> item.getFieldId().equals(field.getId())).collect(Collectors.toList());
|
|
|
List<ReportFieldTree> optionTree = trees.stream().filter(item -> optionIds.contains(item.getId())).collect(Collectors.toList());
|
|
|
List<String> selected = new ArrayList<>();
|
|
@@ -158,7 +170,7 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
});
|
|
|
return dataList;
|
|
|
}
|
|
|
-
|
|
|
+ //查询自定义字段
|
|
|
|
|
|
public List<ReportField> getFieldListByIds(List<Integer> ids) {
|
|
|
if (ids == null || ids.size() == 0) {
|
|
@@ -169,40 +181,76 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
return this.list(queryWrapper);
|
|
|
}
|
|
|
|
|
|
- public ReportField getProjectFieldByName(String name, Integer projectId) {
|
|
|
+ /**
|
|
|
+ * @function 查询自定义字段
|
|
|
+ * @param name 自定义字段的名称
|
|
|
+ * @param reportId 报告id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+
|
|
|
+ public ReportField getProjectFieldByName(String name, Integer reportId) {
|
|
|
LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(ReportField::getName, name);
|
|
|
- queryWrapper.eq(ReportField::getReportId, projectId);
|
|
|
+ queryWrapper.eq(ReportField::getReportId, reportId);
|
|
|
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.setId(null); p.setCreateName(null);});
|
|
|
- reportFieldService.saveBatch(reportFields);
|
|
|
+ reportFields.forEach(p->{
|
|
|
+ p.setReportId(reportId);p.setId(null); p.setCreateName(null);});
|
|
|
+ reportFieldService.saveBatch(reportFields);
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
+ reportFields.forEach(p->{
|
|
|
+ if(p.getPtype()==1||p.getPtype()==0||p.getPtype()==2){
|
|
|
+ reportFieldTextService.add(p.getId(),p.getName());
|
|
|
+
|
|
|
+ }
|
|
|
+ if(p.getPtype()==3||p.getPtype()==4||p.getPtype()==5){
|
|
|
+ ReportFieldOption reportFieldOption = new ReportFieldOption();
|
|
|
+ reportFieldOption.setName(p.getName());
|
|
|
+ reportFieldOption.setFieldId(p.getId());
|
|
|
+ reportFieldOptionService.add(reportFieldOption);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(p.getPtype()==6){
|
|
|
+ ReportFieldTree reportFieldTree = new ReportFieldTree();
|
|
|
+ reportFieldTree.setName(p.getName());
|
|
|
+ reportFieldTree.setFieldId(p.getId());
|
|
|
+ reportFieldTreeService.add(reportFieldTree);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public String getReportField(int reportId,int id){
|
|
|
List<ReportField> reportFields = reportFieldMapper.find(reportId,id);
|
|
|
return Response.success(reportFields);
|
|
|
}
|
|
|
+ // 查询自定义字段
|
|
|
public ReportField get(int id){
|
|
|
LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(ReportField::getId,id);
|
|
|
return this.list(queryWrapper).get(0);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ //修改自定义字段
|
|
|
public String updateReportId(ReportField reportField){
|
|
|
reportFieldMapper.updateReportId(reportField);
|
|
|
return Response.success();
|
|
|
}
|
|
|
+ //查询自定义字段
|
|
|
public List<ReportField> selectAll(int id)throws IOException{
|
|
|
LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(ReportField::getReportId,id);
|
|
@@ -231,6 +279,12 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @function 查询自定义字段,统计与之相关的专利的shuliang
|
|
|
+ * @param params
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+
|
|
|
public List<PatentQueryFieldSourceVO> getPatentQuerySourcePageList(PatentQueryFieldSourceVO params) {
|
|
|
List<PatentQueryFieldSourceVO> list =new ArrayList<>();
|
|
|
|
|
@@ -327,6 +381,12 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @funtion 查询标引内容关联专利
|
|
|
+ * @param params
|
|
|
+ * @return
|
|
|
+ * @throws IOException
|
|
|
+ */
|
|
|
public List<String> getString(SourceVO params)throws IOException{
|
|
|
List<String> list =new ArrayList<>();
|
|
|
LambdaQueryWrapper<ReportFieldPatentLink> lambdaQueryWrapper =new LambdaQueryWrapper<>();
|
|
@@ -350,6 +410,7 @@ private final AssoTaskPersonelService assoTaskPersonelService;
|
|
|
LambdaQueryWrapper<ReportField> wrapper =new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(ReportField::getId,id);
|
|
|
ReportField reportField =this.list(wrapper).get(0);
|
|
|
+ //获得类型
|
|
|
Integer type1 =reportField.getType();
|
|
|
if(type1==1){
|
|
|
LambdaQueryWrapper<ReportFieldText> queryWrapper =new LambdaQueryWrapper<>();
|