|
@@ -17,6 +17,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
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 lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
@@ -111,10 +112,10 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
|
|
|
|
//添加审核任务
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public String addTask(String taskVOStr,List<MultipartFile> file) throws ParseException, IOException {
|
|
|
- TaskVO taskVO =JSONObject.parseObject(taskVOStr,TaskVO.class);
|
|
|
+ public String addTask(String taskVOStr, List<MultipartFile> file) throws ParseException, IOException {
|
|
|
+ TaskVO taskVO = JSONObject.parseObject(taskVOStr, TaskVO.class);
|
|
|
//先添加一个报告
|
|
|
- Integer reportId = reportService.addReport(taskVO.getReport(),file);
|
|
|
+ Integer reportId = reportService.addReport(taskVO.getReport(), file);
|
|
|
|
|
|
//数据库导入task
|
|
|
|
|
@@ -182,14 +183,14 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
|
//添加分配任务
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public String addAssTask(AssignTaskVO assignTaskVO) throws ParseException, IOException {
|
|
|
- LambdaQueryWrapper<Report> wrapper1 =new LambdaQueryWrapper<>();
|
|
|
- wrapper1.select(Report::getSignPatentNo);
|
|
|
- wrapper1.eq(Report::getId,assignTaskVO.getReportId());
|
|
|
+ LambdaQueryWrapper<Report> wrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ wrapper1.select(Report::getSignPatentNo);
|
|
|
+ wrapper1.eq(Report::getId, assignTaskVO.getReportId());
|
|
|
String signPatentNO = reportService.list(wrapper1).get(0).getSignPatentNo();
|
|
|
//遍历assignTaskVO的分配人员信息assigns,在任务表里插入分配任务
|
|
|
List<String> selectedNos = new ArrayList<>();
|
|
|
//记录所有人的id
|
|
|
- List<Integer> personIds =new ArrayList<>();
|
|
|
+ List<Integer> personIds = new ArrayList<>();
|
|
|
|
|
|
//记录总共专利号数量
|
|
|
int num = 0;
|
|
@@ -211,7 +212,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
|
LambdaQueryWrapper<CompareFiles> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.select(CompareFiles::getPatentNo)
|
|
|
.eq(CompareFiles::getReportId, assignTaskVO.getReportId())
|
|
|
- .eq(CompareFiles::getState,0);
|
|
|
+ .eq(CompareFiles::getState, 0);
|
|
|
List<CompareFiles> compareFiles = compareFilesService.list(wrapper);
|
|
|
List<String> patentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
|
|
|
if (patentNos.size() > num) {
|
|
@@ -225,7 +226,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
|
//遍历assignTaskVO的分配人员信息assigns,装配人员所被分配的专利信息
|
|
|
for (int i = 0; i < personPatents.size(); i++) {
|
|
|
Integer handlePersonId = personIds.get(i);
|
|
|
- Personnel personnel = personnels.stream().filter(item -> item.getId().equals(handlePersonId)).findFirst().orElse(new Personnel());
|
|
|
+ Personnel personnel = personnels.stream().filter(item -> item.getId().equals(handlePersonId)).findFirst().orElse(new Personnel());
|
|
|
Task task = new Task();
|
|
|
task.setTaskName(assignTaskVO.getTaskName());
|
|
|
task.setReportId(assignTaskVO.getReportId());
|
|
@@ -241,7 +242,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
|
task.setSignPatentNo(signPatentNO);
|
|
|
task.insert();
|
|
|
//根据数量从分配的专利号列表中截取该数量的专利号,加上分配信息的专利号进行装配
|
|
|
- List<String> partNos = patentNos.subList(flag, flag+personPatents.get(i).getAssignCount()-1);
|
|
|
+ List<String> partNos = patentNos.subList(flag, flag + personPatents.get(i).getAssignCount() - 1);
|
|
|
flag += personPatents.get(i).getAssignCount();
|
|
|
partNos.addAll(personPatents.get(i).getPatentNos());
|
|
|
for (int t = 0; t < partNos.size(); t++) {
|
|
@@ -262,51 +263,75 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
|
|
|
|
//返回任务专利清单
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public String reTaskPatents(PatentVO patentVO) throws ParseException, IOException {
|
|
|
- List<String> taskPatentNos =new ArrayList<>();
|
|
|
+ public String reTaskPatents(PatentVO patentVO) throws ParseException, IOException {
|
|
|
+ List<String> taskPatentNos = new ArrayList<>();
|
|
|
//根据任务Id和类型获得任务的清单
|
|
|
LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(AssoTaskPersonel::getReportId,patentVO.getReportId());
|
|
|
+ queryWrapper.eq(AssoTaskPersonel::getReportId, patentVO.getReportId());
|
|
|
//当taskID存在时
|
|
|
- if(patentVO.getTaskId()!=null){
|
|
|
- queryWrapper.eq(AssoTaskPersonel::getTaskId, patentVO.getTaskId());
|
|
|
- if(patentVO.getTaskStatus()!=3){
|
|
|
- queryWrapper.eq(AssoTaskPersonel::getState, patentVO.getTaskStatus());}
|
|
|
- List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
|
|
|
- if(patentVO.getTaskStatus()!=3){
|
|
|
- taskPatentNos = assoTaskPersonels.stream().filter(item -> item.getState() == patentVO.getTaskStatus()).map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
|
|
|
- }
|
|
|
- else {
|
|
|
- taskPatentNos = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
|
|
|
- }
|
|
|
+ if (patentVO.getTaskId() != null) {
|
|
|
+ queryWrapper.eq(AssoTaskPersonel::getTaskId, patentVO.getTaskId());
|
|
|
+ if (patentVO.getTaskStatus() != 3) {
|
|
|
+ queryWrapper.eq(AssoTaskPersonel::getState, patentVO.getTaskStatus());
|
|
|
+ }
|
|
|
+ List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
|
|
|
+ if (patentVO.getTaskStatus() != 3) {
|
|
|
+ taskPatentNos = assoTaskPersonels.stream().filter(item -> item.getState() == patentVO.getTaskStatus()).map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
|
|
|
+ } else {
|
|
|
+ taskPatentNos = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
|
|
|
+ }
|
|
|
}
|
|
|
//当taskId不存在时
|
|
|
- else{
|
|
|
+ else {
|
|
|
List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
|
|
|
taskPatentNos = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
|
|
|
}
|
|
|
//无查询条件
|
|
|
- if(patentVO.getFiledOptions().size()==0|| patentVO.getFiledOptions()==null) {
|
|
|
+ if (patentVO.getFiledOptions().size() == 0 || patentVO.getFiledOptions() == null) {
|
|
|
patentVO.setPatentNos(taskPatentNos);
|
|
|
}
|
|
|
//有查询条件时,自定义字段的专利号和任务的专利号取交集
|
|
|
else {
|
|
|
- List<String> patentNos= reportFieldService.getPatentNo(patentVO.getFiledOptions());
|
|
|
- List<String> jiaoList = new ArrayList<>(taskPatentNos);
|
|
|
+ List<String> patentNos = reportFieldService.getPatentNo(patentVO.getFiledOptions());
|
|
|
+ List<String> jiaoList = new ArrayList<>(taskPatentNos);
|
|
|
jiaoList.retainAll(patentNos);
|
|
|
patentVO.setPatentNos(jiaoList);
|
|
|
}
|
|
|
String res = outInterfaceService.getPatentFromPAS(patentVO, 1);
|
|
|
JSONObject jsonObject = JSONObject.parseObject(res);
|
|
|
- JSONObject jsonObject1= JSONObject.parseObject(jsonObject.get("data").toString()) ;
|
|
|
+ JSONObject jsonObject1 = JSONObject.parseObject(jsonObject.get("data").toString());
|
|
|
List<JSONObject> jsonObjects = JSONArray.parseArray(jsonObject1.get("records").toString(), JSONObject.class);
|
|
|
- for (int i =0;i<jsonObjects.size();i++)
|
|
|
- { jsonObjects.get(i).put("field", reportFieldService.getPatentFieldByPatentIdAndProjectId(patentVO.getReportId(), jsonObjects.get(i).getString("patentNo")));
|
|
|
+ for (int i = 0; i < jsonObjects.size(); i++) {
|
|
|
+ jsonObjects.get(i).put("field", reportFieldService.getPatentFieldByPatentIdAndProjectId(patentVO.getReportId(), jsonObjects.get(i).getString("patentNo")));
|
|
|
}
|
|
|
- jsonObject1.put("records",jsonObjects);
|
|
|
- jsonObject.put("data",jsonObject1);
|
|
|
+ jsonObject1.put("records", jsonObjects);
|
|
|
+ jsonObject.put("data", jsonObject1);
|
|
|
|
|
|
|
|
|
return jsonObject.toString();
|
|
|
}
|
|
|
-}
|
|
|
+
|
|
|
+ public Map<String, Object> reTaskStateCount(Integer reportId, Integer taskId) {
|
|
|
+ //根据任务Id和类型获得任务的清单
|
|
|
+ LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(AssoTaskPersonel::getReportId, reportId);
|
|
|
+ //当taskID存在时
|
|
|
+ if (taskId != null) {
|
|
|
+ queryWrapper.eq(AssoTaskPersonel::getTaskId, taskId);
|
|
|
+ }
|
|
|
+ Map<String, Object> reMap = new HashMap<>();
|
|
|
+ reMap.put("all", 0);
|
|
|
+ reMap.put("noRead", 0);
|
|
|
+ reMap.put("read", 0);
|
|
|
+ List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
|
|
|
+ if (assoTaskPersonels.size() == 0) {
|
|
|
+ return reMap;
|
|
|
+ }
|
|
|
+ List<AssoTaskPersonel> assoNoRead = assoTaskPersonels.stream().filter(item -> item.getState().equals(0)).collect(Collectors.toList());
|
|
|
+ List<AssoTaskPersonel> assoRead = assoTaskPersonels.stream().filter(item -> item.getState().equals(1)).collect(Collectors.toList());
|
|
|
+ reMap.put("all", assoTaskPersonels.size());
|
|
|
+ reMap.put("noRead", assoNoRead.size());
|
|
|
+ reMap.put("read", assoRead.size());
|
|
|
+ return reMap;
|
|
|
+ }
|
|
|
+}
|