|
@@ -12,6 +12,9 @@ import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
|
|
import cn.cslg.report.entity.*;
|
|
import cn.cslg.report.entity.*;
|
|
import cn.cslg.report.entity.asso.AssoTaskPersonel;
|
|
import cn.cslg.report.entity.asso.AssoTaskPersonel;
|
|
import cn.cslg.report.mapper.ReportFieldMapper;
|
|
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.Wrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
@@ -51,6 +54,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
private final AssoTaskPersonelService assoTaskPersonelService;
|
|
private final AssoTaskPersonelService assoTaskPersonelService;
|
|
private final ReportFieldService reportFieldService;
|
|
private final ReportFieldService reportFieldService;
|
|
private final CompareFilesService compareFilesService;
|
|
private final CompareFilesService compareFilesService;
|
|
|
|
+ private final OutInterfaceService outInterfaceService;
|
|
|
|
|
|
public List<ReportField> getProjectFieldByProjectId(Integer projectId) {
|
|
public List<ReportField> getProjectFieldByProjectId(Integer projectId) {
|
|
LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
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<>();
|
|
LambdaQueryWrapper<ReportField> queryWrapper = new LambdaQueryWrapper<>();
|
|
if (reportFieldVO.getReportId() != null) {
|
|
if (reportFieldVO.getReportId() != null) {
|
|
queryWrapper.eq(ReportField::getReportId, reportFieldVO.getReportId());
|
|
queryWrapper.eq(ReportField::getReportId, reportFieldVO.getReportId());
|
|
@@ -127,17 +131,52 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
}
|
|
}
|
|
queryWrapper.orderByDesc(ReportField::getId);
|
|
queryWrapper.orderByDesc(ReportField::getId);
|
|
if (reportFieldVO.getSize() != null && reportFieldVO.getCurrent() != null) {
|
|
if (reportFieldVO.getSize() != null && reportFieldVO.getCurrent() != null) {
|
|
|
|
+ //查询列表
|
|
List<ReportField> reportFields = this.page(new Page<>(reportFieldVO.getCurrent(), reportFieldVO.getSize()), queryWrapper).getRecords();
|
|
List<ReportField> reportFields = this.page(new Page<>(reportFieldVO.getCurrent(), reportFieldVO.getSize()), queryWrapper).getRecords();
|
|
|
|
+ //调用方法,给查询出的列表装载创建人名称
|
|
|
|
+ reportFields = setCreatePersonNames(reportFields);
|
|
long count = this.count(queryWrapper);
|
|
long count = this.count(queryWrapper);
|
|
return Response.success(reportFields, DataUtils.setPageColumn(reportFieldVO.getSize(), reportFieldVO.getCurrent(), Math.toIntExact(count)));
|
|
return Response.success(reportFields, DataUtils.setPageColumn(reportFieldVO.getSize(), reportFieldVO.getCurrent(), Math.toIntExact(count)));
|
|
} else {
|
|
} else {
|
|
|
|
+ //查询列表
|
|
List<ReportField> reportFields = this.list(queryWrapper);
|
|
List<ReportField> reportFields = this.list(queryWrapper);
|
|
|
|
+ //调用方法,给查询出的列表装载创建人名称
|
|
|
|
+ reportFields = setCreatePersonNames(reportFields);
|
|
|
|
+
|
|
return Response.success(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 reportId 报告ID
|
|
* @param patentNo 专利号
|
|
* @param patentNo 专利号
|
|
* @return
|
|
* @return
|
|
@@ -434,14 +473,14 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
int t = i;
|
|
int t = i;
|
|
List<PatentQueryFieldSourceVO> temList = list.stream().filter(item -> item.getPaths().size() == t).collect(Collectors.toList());
|
|
List<PatentQueryFieldSourceVO> temList = list.stream().filter(item -> item.getPaths().size() == t).collect(Collectors.toList());
|
|
for (PatentQueryFieldSourceVO vo : list) {
|
|
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());
|
|
lambdaQueryWrapper.eq(ReportFieldPatentLink::getFieldId, params.getFieldId());
|
|
if (valueIds != null && valueIds.size() > 0) {
|
|
if (valueIds != null && valueIds.size() > 0) {
|
|
lambdaQueryWrapper.in(ReportFieldPatentLink::getOptionId, valueIds)
|
|
lambdaQueryWrapper.in(ReportFieldPatentLink::getOptionId, valueIds)
|
|
- .eq(ReportFieldPatentLink::getFieldId,params.getFieldId());
|
|
|
|
|
|
+ .eq(ReportFieldPatentLink::getFieldId, params.getFieldId());
|
|
}
|
|
}
|
|
List<ReportFieldPatentLink> reportFieldPatentLinks = reportFieldPatentLinkService.list(lambdaQueryWrapper);
|
|
List<ReportFieldPatentLink> reportFieldPatentLinks = reportFieldPatentLinkService.list(lambdaQueryWrapper);
|
|
if (reportFieldPatentLinks.size() == 0) {
|
|
if (reportFieldPatentLinks.size() == 0) {
|
|
@@ -803,74 +842,74 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * @description 根据报告Id获得自定义字段信息
|
|
|
|
* @param reportId
|
|
* @param reportId
|
|
* @return
|
|
* @return
|
|
|
|
+ * @description 根据报告Id获得自定义字段信息
|
|
*/
|
|
*/
|
|
- public List<Map<String,Object>> getFieldsMap(Integer reportId) {
|
|
|
|
|
|
+ public List<Map<String, Object>> getFieldsMap(Integer reportId) {
|
|
//根据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;
|
|
return lists;
|
|
}
|
|
}
|
|
}
|
|
}
|