|
@@ -1,7 +1,6 @@
|
|
package cn.cslg.report.service.business;
|
|
package cn.cslg.report.service.business;
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
import cn.cslg.report.common.model.dto.TaskTDO;
|
|
import cn.cslg.report.common.model.dto.TaskTDO;
|
|
import cn.cslg.report.common.model.vo.*;
|
|
import cn.cslg.report.common.model.vo.*;
|
|
import cn.cslg.report.common.model.vo.queryVo.QueryCMVO;
|
|
import cn.cslg.report.common.model.vo.queryVo.QueryCMVO;
|
|
@@ -24,18 +23,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import io.swagger.v3.oas.models.security.SecurityScheme;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
+
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.function.Function;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
import java.util.regex.Pattern;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -57,7 +60,8 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
public final CompareRecordsService compareRecordsService;
|
|
public final CompareRecordsService compareRecordsService;
|
|
public final CompareMessageService compareMessageService;
|
|
public final CompareMessageService compareMessageService;
|
|
public final SyneryCodeService syneryCodeService;
|
|
public final SyneryCodeService syneryCodeService;
|
|
-
|
|
|
|
|
|
+ @Value("${PASUrl}")
|
|
|
|
+ private String url;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @param id(Task 任务id)
|
|
* @param id(Task 任务id)
|
|
@@ -91,19 +95,19 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
queryWrapper.eq(Task::getReportId, id);
|
|
queryWrapper.eq(Task::getReportId, id);
|
|
//拿到对象,根据对象判断任务类型
|
|
//拿到对象,根据对象判断任务类型
|
|
List<Task> list = this.list(queryWrapper);
|
|
List<Task> list = this.list(queryWrapper);
|
|
- if(list.size()!=0){
|
|
|
|
- for(Task task : list){
|
|
|
|
- if(task.getType().equals(1)){
|
|
|
|
- syneryCCService.deleteByTaskId(task.getId());
|
|
|
|
- syneryCodeService.deleteByTaskId(task.getId());
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- if(task.getType().equals(2)){
|
|
|
|
- //删除对比记录
|
|
|
|
- compareRecordsService.deleteByTaskId(task.getId());
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ if (list.size() != 0) {
|
|
|
|
+ for (Task task : list) {
|
|
|
|
+ if (task.getType().equals(1)) {
|
|
|
|
+ syneryCCService.deleteByTaskId(task.getId());
|
|
|
|
+ syneryCodeService.deleteByTaskId(task.getId());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ if (task.getType().equals(2)) {
|
|
|
|
+ //删除对比记录
|
|
|
|
+ compareRecordsService.deleteByTaskId(task.getId());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return this.remove(queryWrapper);
|
|
return this.remove(queryWrapper);
|
|
@@ -142,41 +146,45 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
*/
|
|
*/
|
|
public IPage<TaskReportVO> queryPageList(TaskVO taskVO) throws IOException {
|
|
public IPage<TaskReportVO> queryPageList(TaskVO taskVO) throws IOException {
|
|
taskVO.setLoginId(StpUtil.getLoginIdAsInt());
|
|
taskVO.setLoginId(StpUtil.getLoginIdAsInt());
|
|
- if(taskVO.getRoleInTask()==0&&taskVO.getTaskStatus()==0){
|
|
|
|
- taskVO.setTaskStatuses(Arrays.asList(0,2));
|
|
|
|
- }
|
|
|
|
- else if(taskVO.getRoleInTask()==0&&taskVO.getTaskStatus()==1)
|
|
|
|
- {
|
|
|
|
|
|
+ if (taskVO.getRoleInTask() == 0 && taskVO.getTaskStatus() == 0) {
|
|
|
|
+ taskVO.setTaskStatuses(Arrays.asList(0, 2));
|
|
|
|
+ } else if (taskVO.getRoleInTask() == 0 && taskVO.getTaskStatus() == 1) {
|
|
taskVO.setTaskStatuses(Arrays.asList(1));
|
|
taskVO.setTaskStatuses(Arrays.asList(1));
|
|
- }
|
|
|
|
- else if(taskVO.getRoleInTask()==1&&taskVO.getTaskStatus()==0)
|
|
|
|
- {
|
|
|
|
|
|
+ } else if (taskVO.getRoleInTask() == 1 && taskVO.getTaskStatus() == 0) {
|
|
taskVO.setTaskStatuses(Arrays.asList(0));
|
|
taskVO.setTaskStatuses(Arrays.asList(0));
|
|
- }
|
|
|
|
- else if(taskVO.getRoleInTask()==1&&taskVO.getTaskStatus()==1)
|
|
|
|
- {
|
|
|
|
- taskVO.setTaskStatuses(Arrays.asList(1,2));
|
|
|
|
|
|
+ } else if (taskVO.getRoleInTask() == 1 && taskVO.getTaskStatus() == 1) {
|
|
|
|
+ taskVO.setTaskStatuses(Arrays.asList(1, 2));
|
|
}
|
|
}
|
|
IPage<TaskReportVO> dataPage = new Page<>();
|
|
IPage<TaskReportVO> dataPage = new Page<>();
|
|
- //当查询未使用发起人名称时
|
|
|
|
- if(taskVO.getCreateName()!=null&&taskVO.getCreateName()!=""){
|
|
|
|
- String res =outInterfaceService.getPersonIdByNamePCS(taskVO.getCreateName());
|
|
|
|
- List<Integer> createIds = JSONArray.parseArray(res,Integer.class);
|
|
|
|
|
|
+ //当查询使用发起人名称时
|
|
|
|
+ if (taskVO.getCreateName() != null && taskVO.getCreateName() != "") {
|
|
|
|
+ String res = outInterfaceService.getPersonIdByNamePCS(taskVO.getCreateName());
|
|
|
|
+ List<Integer> createIds = JSONArray.parseArray(res, Integer.class);
|
|
taskVO.setIds(createIds);
|
|
taskVO.setIds(createIds);
|
|
//当未查询到时直接返回空页
|
|
//当未查询到时直接返回空页
|
|
- if(createIds==null||createIds.size()==0){
|
|
|
|
- taskVO.setIds(Arrays.asList(-1));
|
|
|
|
|
|
+ if (createIds == null || createIds.size() == 0) {
|
|
|
|
+ taskVO.setIds(Arrays.asList(-1));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //当查询使用处理人名称时
|
|
|
|
+ if (taskVO.getHandlePersonName() != null && taskVO.getHandlePersonName() != "") {
|
|
|
|
+ String res = outInterfaceService.getPersonIdByNamePCS(taskVO.getHandlePersonName());
|
|
|
|
+ List<Integer> handleIds = JSONArray.parseArray(res, Integer.class);
|
|
|
|
+ taskVO.setHandleIds(handleIds);
|
|
|
|
+ //当未查询到时直接返回空页
|
|
|
|
+ if (handleIds == null || handleIds.size() == 0) {
|
|
|
|
+ taskVO.setIds(Arrays.asList(-1));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
dataPage = baseMapper.queryTasks(new Page<>(taskVO.getCurrent(), taskVO.getSize()), taskVO);
|
|
dataPage = baseMapper.queryTasks(new Page<>(taskVO.getCurrent(), taskVO.getSize()), taskVO);
|
|
- List<TaskReportVO> taskReportVOS = dataPage.getRecords();
|
|
|
|
- taskReportVOS =this.reTaskReportVOs(taskReportVOS);
|
|
|
|
|
|
+ List<TaskReportVO> taskReportVOS = dataPage.getRecords();
|
|
|
|
+ taskReportVOS = this.reTaskReportVOs(taskReportVOS);
|
|
dataPage.setRecords(taskReportVOS);
|
|
dataPage.setRecords(taskReportVOS);
|
|
return dataPage;
|
|
return dataPage;
|
|
}
|
|
}
|
|
|
|
|
|
- public List<TaskReportVO> reTaskReportVOs(List<TaskReportVO> taskReportVOS) throws IOException {
|
|
|
|
- if(taskReportVOS.size()!=0){
|
|
|
|
|
|
+ public List<TaskReportVO> reTaskReportVOs(List<TaskReportVO> taskReportVOS) throws IOException {
|
|
|
|
+ if (taskReportVOS.size() != 0) {
|
|
//创建人Id
|
|
//创建人Id
|
|
List<Integer> createIds = taskReportVOS.stream().map(TaskReportVO::getCreateID).collect(Collectors.toList());
|
|
List<Integer> createIds = taskReportVOS.stream().map(TaskReportVO::getCreateID).collect(Collectors.toList());
|
|
//处理人Id
|
|
//处理人Id
|
|
@@ -187,19 +195,20 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
//解析jason获得标的专利的权要
|
|
//解析jason获得标的专利的权要
|
|
List<Personnel> personnels = JSON.parseArray(jsonObject1.getString("data"), Personnel.class);
|
|
List<Personnel> personnels = JSON.parseArray(jsonObject1.getString("data"), Personnel.class);
|
|
|
|
|
|
- for(TaskReportVO item :taskReportVOS){
|
|
|
|
|
|
+ for (TaskReportVO item : taskReportVOS) {
|
|
//装载创建人名和负责人名
|
|
//装载创建人名和负责人名
|
|
List<Personnel> mapCre = personnels.stream().filter(tem -> tem.getId().equals(item.getCreateID())).collect(Collectors.toList());
|
|
List<Personnel> mapCre = personnels.stream().filter(tem -> tem.getId().equals(item.getCreateID())).collect(Collectors.toList());
|
|
List<Personnel> mapDuty = personnels.stream().filter(tem -> tem.getId().equals(item.getHandlePersonId())).collect(Collectors.toList());
|
|
List<Personnel> mapDuty = personnels.stream().filter(tem -> tem.getId().equals(item.getHandlePersonId())).collect(Collectors.toList());
|
|
- if(mapCre.size()!=0)
|
|
|
|
|
|
+ if (mapCre.size() != 0)
|
|
item.setCreateName(mapCre.get(0).getPersonnelName());
|
|
item.setCreateName(mapCre.get(0).getPersonnelName());
|
|
- if(mapDuty.size()!=0&&item.getHandlePersonName() !=null){
|
|
|
|
- item.setHandlePersonName(mapDuty.get(0).getPersonnelName());}
|
|
|
|
|
|
+ if (mapDuty.size() != 0) {
|
|
|
|
+ item.setHandlePersonName(mapDuty.get(0).getPersonnelName());
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return taskReportVOS;
|
|
return taskReportVOS;
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* @function 获取对比任务
|
|
* @function 获取对比任务
|
|
@@ -304,9 +313,6 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
if (assignTaskVO.getPatentVO() != null) {
|
|
if (assignTaskVO.getPatentVO() != null) {
|
|
patentVO = assignTaskVO.getPatentVO();
|
|
patentVO = assignTaskVO.getPatentVO();
|
|
}
|
|
}
|
|
- if(1!=1){
|
|
|
|
- return Response.error();
|
|
|
|
- }
|
|
|
|
LambdaQueryWrapper<Report> wrapper1 = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<Report> wrapper1 = new LambdaQueryWrapper<>();
|
|
wrapper1.eq(Report::getId, assignTaskVO.getReportId());
|
|
wrapper1.eq(Report::getId, assignTaskVO.getReportId());
|
|
Report report = reportService.list(wrapper1).get(0);
|
|
Report report = reportService.list(wrapper1).get(0);
|
|
@@ -342,21 +348,43 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
.eq(CompareFiles::getState, 0);
|
|
.eq(CompareFiles::getState, 0);
|
|
List<CompareFiles> compareFiles = compareFilesService.list(wrapper);
|
|
List<CompareFiles> compareFiles = compareFilesService.list(wrapper);
|
|
List<String> AllpatentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
|
|
List<String> AllpatentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
|
|
|
|
+ List<String> patentNos1 = new ArrayList<>();
|
|
//无查询条件
|
|
//无查询条件
|
|
if (patentVO == null || patentVO.getFiledOptions() == null || patentVO.getFiledOptions().size() == 0) {
|
|
if (patentVO == null || patentVO.getFiledOptions() == null || patentVO.getFiledOptions().size() == 0) {
|
|
- patentVO.setPatentNos(AllpatentNos);
|
|
|
|
|
|
+ patentNos1 = AllpatentNos;
|
|
}
|
|
}
|
|
//有查询条件时,自定义字段的专利号和任务的专利号取交集
|
|
//有查询条件时,自定义字段的专利号和任务的专利号取交集
|
|
else {
|
|
else {
|
|
List<String> temPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), patentVO.getReportId(), patentVO.getTaskId(), patentVO.getTaskStatus());
|
|
List<String> temPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), patentVO.getReportId(), patentVO.getTaskId(), patentVO.getTaskStatus());
|
|
- patentVO.setPatentNos(temPatentNos);
|
|
|
|
|
|
+ patentNos1 = temPatentNos;
|
|
|
|
+ }
|
|
|
|
+ //如果有任务过滤条件
|
|
|
|
+ List<String> patentNosTask = new ArrayList<>();
|
|
|
|
+ if (patentVO.getTaskSources() != null && patentVO.getTaskSources().size() != 0) {
|
|
|
|
+ patentNosTask = assoTaskPersonelService.getBaseMapper().getPatents(patentVO.getTaskSources());
|
|
|
|
+ }
|
|
|
|
+ List<String> allPatentsCopy = new ArrayList<>();
|
|
|
|
+ if (patentVO.getNotAssignTypes() != null && patentVO.getNotAssignTypes().size() != 0) {
|
|
|
|
+ for (Integer types : patentVO.getNotAssignTypes()) {
|
|
|
|
+ List<String> PatentsCopy = new ArrayList<>(AllpatentNos);
|
|
|
|
+ LambdaQueryWrapper<AssoTaskPersonel> assoWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ assoWrapper.eq(AssoTaskPersonel::getReportId, patentVO.getReportId())
|
|
|
|
+ .eq(AssoTaskPersonel::getTaskType, types);
|
|
|
|
+ List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(assoWrapper);
|
|
|
|
+ List<String> tem = assoTaskPersonels.stream().map(AssoTaskPersonel::getPatentNo).collect(Collectors.toList());
|
|
|
|
+ PatentsCopy.removeAll(tem);
|
|
|
|
+ allPatentsCopy.addAll(PatentsCopy);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
+ if ((patentVO.getTaskSources() != null && patentVO.getTaskSources().size() != 0) || (patentVO.getNotAssignTypes() != null && patentVO.getNotAssignTypes().size() != 0)) {
|
|
|
|
+ patentNosTask.addAll(allPatentsCopy);
|
|
|
|
+ patentNos1 = new ArrayList<>(CollectionUtils.intersection(patentNosTask, patentNos1));
|
|
|
|
+ }
|
|
|
|
+ patentVO.setPatentNos(patentNos1);
|
|
String res = outInterfaceService.getConPantentNos(patentVO, 1);
|
|
String res = outInterfaceService.getConPantentNos(patentVO, 1);
|
|
JSONObject jsonObject1 = JSONObject.parseObject(res);
|
|
JSONObject jsonObject1 = JSONObject.parseObject(res);
|
|
List<String> patentNos = JSONArray.parseArray(jsonObject1.get("data").toString(), String.class);
|
|
List<String> patentNos = JSONArray.parseArray(jsonObject1.get("data").toString(), String.class);
|
|
- if (patentNos.size() > num) {
|
|
|
|
- return Response.error("分配数量超过未分配总数");
|
|
|
|
- }
|
|
|
|
//待分配的专利号列表剔除分配信息中已经存在的专利号
|
|
//待分配的专利号列表剔除分配信息中已经存在的专利号
|
|
patentNos.removeAll(selectedNos);
|
|
patentNos.removeAll(selectedNos);
|
|
List<AssoTaskPersonel> assoTaskPersonels = new ArrayList<>();
|
|
List<AssoTaskPersonel> assoTaskPersonels = new ArrayList<>();
|
|
@@ -381,6 +409,9 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
task.setSignPatentNo(signPatentNO);
|
|
task.setSignPatentNo(signPatentNO);
|
|
//发送邮件
|
|
//发送邮件
|
|
if (task.insert()) {
|
|
if (task.insert()) {
|
|
|
|
+ if(task.getPersonEmail()==null){
|
|
|
|
+ task.setPersonEmail("");
|
|
|
|
+ }
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("title", "任务通知");
|
|
map.put("title", "任务通知");
|
|
map.put("template", "mail/eTask.html");
|
|
map.put("template", "mail/eTask.html");
|
|
@@ -576,7 +607,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
simpleDateFormat.format(now);
|
|
simpleDateFormat.format(now);
|
|
task.setFinishTime(now);
|
|
task.setFinishTime(now);
|
|
// 当是协同任务
|
|
// 当是协同任务
|
|
- if(task.getType()==1&&task.getTaskStatus()==0) {
|
|
|
|
|
|
+ if (task.getType() == 1 && task.getTaskStatus() == 0) {
|
|
task.setTaskStatus(2);
|
|
task.setTaskStatus(2);
|
|
Map<String, Object> map = new LinkedHashMap<>();
|
|
Map<String, Object> map = new LinkedHashMap<>();
|
|
map.put("title", "任务通知");
|
|
map.put("title", "任务通知");
|
|
@@ -607,15 +638,14 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
mailUtils.sendEmailMessage(map);
|
|
mailUtils.sendEmailMessage(map);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ task.setTaskStatus(1);
|
|
}
|
|
}
|
|
- else {
|
|
|
|
- task.setTaskStatus(1);
|
|
|
|
- }
|
|
|
|
- //结果为已完成状态
|
|
|
|
- task.setResult(1);
|
|
|
|
- task.updateById();
|
|
|
|
- return Response.success();
|
|
|
|
- }
|
|
|
|
|
|
+ //结果为已完成状态
|
|
|
|
+ task.setResult(1);
|
|
|
|
+ task.updateById();
|
|
|
|
+ return Response.success();
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* @param taskVO
|
|
* @param taskVO
|
|
@@ -627,14 +657,41 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
// PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
|
|
// PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
|
|
LambdaQueryWrapper<Task> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<Task> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
lambdaQueryWrapper.eq(Task::getReportId, taskVO.getReportId());
|
|
lambdaQueryWrapper.eq(Task::getReportId, taskVO.getReportId());
|
|
|
|
+ if (taskVO.getTaskName() != null) {
|
|
|
|
+ lambdaQueryWrapper.like(Task::getTaskName, taskVO.getTaskName());
|
|
|
|
+ }
|
|
|
|
+ if (taskVO.getType() != null) {
|
|
|
|
+ lambdaQueryWrapper.eq(Task::getType, taskVO.getType());
|
|
|
|
+ }//当查询使用处理人名称时
|
|
|
|
+ if (taskVO.getHandlePersonName() != null && taskVO.getHandlePersonName() != "") {
|
|
|
|
+ String res = outInterfaceService.getPersonIdByNamePCS(taskVO.getHandlePersonName());
|
|
|
|
+ List<Integer> handleIds = JSONArray.parseArray(res, Integer.class);
|
|
|
|
+ //当未查询到时直接返回空页
|
|
|
|
+ if (handleIds != null && handleIds.size() != 0) {
|
|
|
|
+ lambdaQueryWrapper.in(Task::getHandlePersonId, handleIds);
|
|
|
|
+ } else {
|
|
|
|
+ lambdaQueryWrapper.in(Task::getHandlePersonId, Arrays.asList(-1));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
List<Task> records = this.page(new Page<>(taskVO.getCurrent(), taskVO.getSize()), lambdaQueryWrapper).getRecords();
|
|
List<Task> records = this.page(new Page<>(taskVO.getCurrent(), taskVO.getSize()), lambdaQueryWrapper).getRecords();
|
|
|
|
+ for (Task task : records) {
|
|
|
|
+ Integer createID = task.getCreateID();
|
|
|
|
+ Integer handlePersonId = task.getHandlePersonId();
|
|
|
|
+ PersonnelVO loginUser = cacheUtils.getLoginUser(createID);
|
|
|
|
+ task.setCreateName(loginUser.getName());
|
|
|
|
+ PersonnelVO loginUser1 = cacheUtils.getLoginUser(handlePersonId);
|
|
|
|
+ task.setHandlePersonName(loginUser1.getName());
|
|
|
|
+ }
|
|
Long count = this.count(lambdaQueryWrapper);
|
|
Long count = this.count(lambdaQueryWrapper);
|
|
return Response.success(records, DataUtils.setPageColumn(taskVO.getSize(), taskVO.getCurrent(), Math.toIntExact(count)));
|
|
return Response.success(records, DataUtils.setPageColumn(taskVO.getSize(), taskVO.getCurrent(), Math.toIntExact(count)));
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- public List<Task> reTasks(List<Task> tasks) throws IOException {
|
|
|
|
- if(tasks.size()!=0){
|
|
|
|
|
|
+ public List<Task> reTasks(List<Task> tasks) throws IOException {
|
|
|
|
+ if (tasks.size() != 0) {
|
|
//创建人Id
|
|
//创建人Id
|
|
List<Integer> createIds = tasks.stream().map(Task::getCreateID).collect(Collectors.toList());
|
|
List<Integer> createIds = tasks.stream().map(Task::getCreateID).collect(Collectors.toList());
|
|
//处理人Id
|
|
//处理人Id
|
|
@@ -645,14 +702,15 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
//解析jason获得标的专利的权要
|
|
//解析jason获得标的专利的权要
|
|
List<Personnel> personnels = JSON.parseArray(jsonObject1.getString("data"), Personnel.class);
|
|
List<Personnel> personnels = JSON.parseArray(jsonObject1.getString("data"), Personnel.class);
|
|
|
|
|
|
- for(Task item :tasks){
|
|
|
|
|
|
+ for (Task item : tasks) {
|
|
//装载创建人名和负责人名
|
|
//装载创建人名和负责人名
|
|
List<Personnel> mapCre = personnels.stream().filter(tem -> tem.getId().equals(item.getCreateID())).collect(Collectors.toList());
|
|
List<Personnel> mapCre = personnels.stream().filter(tem -> tem.getId().equals(item.getCreateID())).collect(Collectors.toList());
|
|
List<Personnel> mapDuty = personnels.stream().filter(tem -> tem.getId().equals(item.getHandlePersonId())).collect(Collectors.toList());
|
|
List<Personnel> mapDuty = personnels.stream().filter(tem -> tem.getId().equals(item.getHandlePersonId())).collect(Collectors.toList());
|
|
- if(mapCre.size()!=0)
|
|
|
|
|
|
+ if (mapCre.size() != 0)
|
|
item.setCreateName(mapCre.get(0).getPersonnelName());
|
|
item.setCreateName(mapCre.get(0).getPersonnelName());
|
|
- if(mapDuty.size()!=0&&item.getHandlePersonName() ==null){
|
|
|
|
- item.setHandlePersonName(mapDuty.get(0).getPersonnelName());}
|
|
|
|
|
|
+ if (mapDuty.size() != 0 && item.getHandlePersonName() == null) {
|
|
|
|
+ item.setHandlePersonName(mapDuty.get(0).getPersonnelName());
|
|
|
|
+ }
|
|
//装载部门名
|
|
//装载部门名
|
|
|
|
|
|
}
|
|
}
|
|
@@ -667,9 +725,9 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
* @author :cj
|
|
* @author :cj
|
|
*/
|
|
*/
|
|
@Transactional
|
|
@Transactional
|
|
- public String read(Integer taskID, String patentNo,Integer reportId) {
|
|
|
|
|
|
+ public String read(Integer taskID, String patentNo, Integer reportId) {
|
|
|
|
|
|
- if(taskID!=null) {
|
|
|
|
|
|
+ if (taskID != null) {
|
|
LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
|
|
queryWrapper.eq(AssoTaskPersonel::getPatentNo, patentNo);
|
|
queryWrapper.eq(AssoTaskPersonel::getPatentNo, patentNo);
|
|
queryWrapper.eq(AssoTaskPersonel::getTaskId, taskID);
|
|
queryWrapper.eq(AssoTaskPersonel::getTaskId, taskID);
|
|
@@ -680,31 +738,33 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
assoTaskPersonel.setState(1);
|
|
assoTaskPersonel.setState(1);
|
|
}
|
|
}
|
|
assoTaskPersonel.updateById();
|
|
assoTaskPersonel.updateById();
|
|
- }else {
|
|
|
|
- LambdaQueryWrapper<CompareFiles> queryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
- queryWrapper.eq(CompareFiles::getReportId,reportId).eq(CompareFiles::getPatentNo,patentNo);
|
|
|
|
|
|
+ } else {
|
|
|
|
+ LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.eq(CompareFiles::getReportId, reportId).eq(CompareFiles::getPatentNo, patentNo);
|
|
CompareFiles compareFiles = compareFilesService.list(queryWrapper).get(0);
|
|
CompareFiles compareFiles = compareFilesService.list(queryWrapper).get(0);
|
|
compareFiles.setState(1);
|
|
compareFiles.setState(1);
|
|
compareFiles.updateById();
|
|
compareFiles.updateById();
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
- return Response.success();
|
|
|
|
|
|
+ return Response.success();
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- public String look( Integer taskID, String patentNo,Integer reoportId) {
|
|
|
|
|
|
+ public String look(Integer taskID, String patentNo, Integer reoportId) {
|
|
if (taskID != null) {
|
|
if (taskID != null) {
|
|
LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
|
|
queryWrapper.eq(AssoTaskPersonel::getPatentNo, patentNo);
|
|
queryWrapper.eq(AssoTaskPersonel::getPatentNo, patentNo);
|
|
queryWrapper.eq(AssoTaskPersonel::getTaskId, taskID);
|
|
queryWrapper.eq(AssoTaskPersonel::getTaskId, taskID);
|
|
- AssoTaskPersonel assoTaskPersonel = assoTaskPersonelService.list(queryWrapper).get(0);
|
|
|
|
- return Response.success(assoTaskPersonel.getState());
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
|
|
+ List<AssoTaskPersonel> list = assoTaskPersonelService.list(queryWrapper);
|
|
|
|
+ if (list != null && list.size() != 0) {
|
|
|
|
+ AssoTaskPersonel assoTaskPersonel = list.get(0);
|
|
|
|
+ return Response.success(assoTaskPersonel.getState());
|
|
|
|
+ }
|
|
|
|
+ return Response.success();
|
|
|
|
+ } else {
|
|
LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
|
|
- queryWrapper.eq(CompareFiles::getPatentNo,patentNo).eq(CompareFiles::getReportId,reoportId);
|
|
|
|
|
|
+ queryWrapper.eq(CompareFiles::getPatentNo, patentNo).eq(CompareFiles::getReportId, reoportId);
|
|
List<CompareFiles> list = compareFilesService.list(queryWrapper);
|
|
List<CompareFiles> list = compareFilesService.list(queryWrapper);
|
|
return Response.success(list.get(0).getState());
|
|
return Response.success(list.get(0).getState());
|
|
|
|
|
|
@@ -714,9 +774,9 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public String addSyneryTask(SyneryVO syneryVO) throws ParseException, IOException {
|
|
public String addSyneryTask(SyneryVO syneryVO) throws ParseException, IOException {
|
|
//任务保存部分
|
|
//任务保存部分
|
|
- Report report =reportService.getById(syneryVO.getReportId());
|
|
|
|
|
|
+ Report report = reportService.getById(syneryVO.getReportId());
|
|
PatentVO patentVO = new PatentVO();
|
|
PatentVO patentVO = new PatentVO();
|
|
- List<Synery_CC> synery_ccs= syneryVO.getSyneryCCList();
|
|
|
|
|
|
+ List<Synery_CC> synery_ccs = syneryVO.getSyneryCCList();
|
|
if (syneryVO.getPatentVO() != null) {
|
|
if (syneryVO.getPatentVO() != null) {
|
|
patentVO = syneryVO.getPatentVO();
|
|
patentVO = syneryVO.getPatentVO();
|
|
}
|
|
}
|
|
@@ -728,13 +788,13 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
task.setProgress(0.0);
|
|
task.setProgress(0.0);
|
|
task.setEndTime(syneryVO.getEndTime());
|
|
task.setEndTime(syneryVO.getEndTime());
|
|
task.setRemark(syneryVO.getRemark());
|
|
task.setRemark(syneryVO.getRemark());
|
|
- if(syneryVO.getHandlePersonId() !=null){
|
|
|
|
|
|
+ if (syneryVO.getHandlePersonId() != null) {
|
|
task.setHandlePersonId(syneryVO.getHandlePersonId());
|
|
task.setHandlePersonId(syneryVO.getHandlePersonId());
|
|
- }
|
|
|
|
- else{
|
|
|
|
|
|
+ } else {
|
|
task.setHandlePersonName(syneryVO.getPersonEmail());
|
|
task.setHandlePersonName(syneryVO.getPersonEmail());
|
|
}
|
|
}
|
|
task.setCreateID(loginUtils.getId());
|
|
task.setCreateID(loginUtils.getId());
|
|
|
|
+ PersonnelVO personnel = cacheUtils.getLoginUser(loginUtils.getId());
|
|
task.insert();
|
|
task.insert();
|
|
|
|
|
|
|
|
|
|
@@ -743,40 +803,43 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
queryCMVO.setCompareResult(syneryVO.getCompareResult());
|
|
queryCMVO.setCompareResult(syneryVO.getCompareResult());
|
|
List<String> patentNos = new ArrayList<>();
|
|
List<String> patentNos = new ArrayList<>();
|
|
//无查询条件,单个专利
|
|
//无查询条件,单个专利
|
|
- if( syneryVO.getPatentNo()!=null){
|
|
|
|
- patentNos =Arrays.asList(syneryVO.getPatentNo());
|
|
|
|
|
|
+ if (syneryVO.getPatentNos() != null && syneryVO.getPatentNos().size() != 0) {
|
|
|
|
+ patentNos = syneryVO.getPatentNos();
|
|
}
|
|
}
|
|
//无查询条件并且是对比过的专利
|
|
//无查询条件并且是对比过的专利
|
|
- else if ((patentVO == null || patentVO.getFiledOptions() == null || patentVO.getFiledOptions().size() == 0)&&syneryVO.getIsAll()==0) {
|
|
|
|
|
|
+ else if ((patentVO == null || patentVO.getFiledOptions() == null || patentVO.getFiledOptions().size() == 0) && syneryVO.getIsAll() == 0) {
|
|
List<String> AllpatentNos = compareMessageService.getBaseMapper().getComparedMessageAll(queryCMVO);
|
|
List<String> AllpatentNos = compareMessageService.getBaseMapper().getComparedMessageAll(queryCMVO);
|
|
- patentNos=AllpatentNos;
|
|
|
|
|
|
+ patentNos = AllpatentNos;
|
|
|
|
+ patentVO.setPatentNos(patentNos);
|
|
|
|
+ patentVO.setPatentName(syneryVO.getPatentVO().getPatentName());
|
|
}
|
|
}
|
|
//无查询条件并且是全部的专利
|
|
//无查询条件并且是全部的专利
|
|
- else if((patentVO == null || patentVO.getFiledOptions() == null || patentVO.getFiledOptions().size() == 0)&&syneryVO.getIsAll()==1){
|
|
|
|
|
|
+ else if ((patentVO == null || patentVO.getFiledOptions() == null || patentVO.getFiledOptions().size() == 0) && syneryVO.getIsAll() == 1) {
|
|
LambdaQueryWrapper<CompareFiles> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<CompareFiles> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
queryWrapper1.eq(CompareFiles::getReportId, syneryVO.getReportId());
|
|
queryWrapper1.eq(CompareFiles::getReportId, syneryVO.getReportId());
|
|
List<CompareFiles> compareFiles = compareFilesService.list(queryWrapper1);
|
|
List<CompareFiles> compareFiles = compareFilesService.list(queryWrapper1);
|
|
- List<String> AllpatentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
|
|
|
|
- patentNos=AllpatentNos;
|
|
|
|
|
|
+ List<String> AllpatentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
|
|
|
|
+ patentNos = AllpatentNos;
|
|
}
|
|
}
|
|
//有查询条件并且是对比过的专利
|
|
//有查询条件并且是对比过的专利
|
|
- else if(patentVO != null && patentVO.getFiledOptions() != null && patentVO.getFiledOptions().size() != 0&&syneryVO.getIsAll()==0){
|
|
|
|
|
|
+ else if (patentVO != null && patentVO.getFiledOptions() != null && patentVO.getFiledOptions().size() != 0 && syneryVO.getIsAll() == 0) {
|
|
List<String> AllpatentNos = compareMessageService.getBaseMapper().getComparedMessageAll(queryCMVO);
|
|
List<String> AllpatentNos = compareMessageService.getBaseMapper().getComparedMessageAll(queryCMVO);
|
|
List<String> temPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), syneryVO.getReportId(), task.getId(), patentVO.getTaskStatus());
|
|
List<String> temPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), syneryVO.getReportId(), task.getId(), patentVO.getTaskStatus());
|
|
List<String> strings1 = new ArrayList<>(CollectionUtils.intersection(temPatentNos, AllpatentNos));
|
|
List<String> strings1 = new ArrayList<>(CollectionUtils.intersection(temPatentNos, AllpatentNos));
|
|
patentVO.setPatentNos(temPatentNos);
|
|
patentVO.setPatentNos(temPatentNos);
|
|
|
|
+ patentVO.setPatentName(syneryVO.getPatentVO().getPatentName());
|
|
}
|
|
}
|
|
//有查询条件并且是全部的专利
|
|
//有查询条件并且是全部的专利
|
|
- else if(patentVO != null && patentVO.getFiledOptions() != null && patentVO.getFiledOptions().size() != 0&&syneryVO.getIsAll()==1){
|
|
|
|
|
|
+ else if (patentVO != null && patentVO.getFiledOptions() != null && patentVO.getFiledOptions().size() != 0 && syneryVO.getIsAll() == 1) {
|
|
LambdaQueryWrapper<CompareFiles> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<CompareFiles> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
queryWrapper1.eq(CompareFiles::getReportId, syneryVO.getReportId());
|
|
queryWrapper1.eq(CompareFiles::getReportId, syneryVO.getReportId());
|
|
List<CompareFiles> compareFiles = compareFilesService.list(queryWrapper1);
|
|
List<CompareFiles> compareFiles = compareFilesService.list(queryWrapper1);
|
|
- List<String> AllpatentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
|
|
|
|
|
|
+ List<String> AllpatentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
|
|
List<String> temPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), syneryVO.getReportId(), task.getId(), patentVO.getTaskStatus());
|
|
List<String> temPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), syneryVO.getReportId(), task.getId(), patentVO.getTaskStatus());
|
|
List<String> strings1 = new ArrayList<>(CollectionUtils.intersection(temPatentNos, AllpatentNos));
|
|
List<String> strings1 = new ArrayList<>(CollectionUtils.intersection(temPatentNos, AllpatentNos));
|
|
patentVO.setPatentNos(temPatentNos);
|
|
patentVO.setPatentNos(temPatentNos);
|
|
}
|
|
}
|
|
- if (patentVO!=null&&patentVO.getPatentNos()!=null&&patentVO.getPatentNos().size() != 0) {
|
|
|
|
|
|
+ if (patentVO != null && patentVO.getPatentNos() != null && patentVO.getPatentNos().size() != 0) {
|
|
String res = outInterfaceService.getConPantentNos(patentVO, 1);
|
|
String res = outInterfaceService.getConPantentNos(patentVO, 1);
|
|
JSONObject jsonObject1 = JSONObject.parseObject(res);
|
|
JSONObject jsonObject1 = JSONObject.parseObject(res);
|
|
patentNos = JSONArray.parseArray(jsonObject1.get("data").toString(), String.class);
|
|
patentNos = JSONArray.parseArray(jsonObject1.get("data").toString(), String.class);
|
|
@@ -791,53 +854,199 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
|
|
});
|
|
});
|
|
// 分配信息入库
|
|
// 分配信息入库
|
|
assoTaskPersonelService.saveBatch(assoTaskPersonels);
|
|
assoTaskPersonelService.saveBatch(assoTaskPersonels);
|
|
-
|
|
|
|
- if(synery_ccs!=null&&synery_ccs.size()!=0){
|
|
|
|
- synery_ccs.forEach(item->{
|
|
|
|
- item.setTaskId(task.getId());
|
|
|
|
- });
|
|
|
|
- syneryCCService.saveBatch(synery_ccs);
|
|
|
|
- }
|
|
|
|
- //发送邮件部分
|
|
|
|
- String code =DataUtils.generateShortUuid();
|
|
|
|
- SyneryCode syneryCode =new SyneryCode();
|
|
|
|
|
|
+ //发送邮件部分
|
|
|
|
+ String code = DataUtils.generateShortUuid();
|
|
|
|
+ SyneryCode syneryCode = new SyneryCode();
|
|
syneryCode.setCode(code);
|
|
syneryCode.setCode(code);
|
|
syneryCode.setTaskId(task.getId());
|
|
syneryCode.setTaskId(task.getId());
|
|
syneryCode.insert();
|
|
syneryCode.insert();
|
|
Map<String, Object> map = new LinkedHashMap<>();
|
|
Map<String, Object> map = new LinkedHashMap<>();
|
|
map.put("title", "任务通知");
|
|
map.put("title", "任务通知");
|
|
- map.put("template", "mail/Synery.html");
|
|
|
|
- if(syneryVO.getHandlePersonId()!=null) {
|
|
|
|
|
|
+ String name = "";
|
|
|
|
+ if (syneryVO.getHandlePersonId() != null) {
|
|
|
|
+ map.put("template", "mail/SyneryInside.html");
|
|
String resBody = outInterfaceService.getPersonnelByIdsFromPCS(Arrays.asList(task.getHandlePersonId()));
|
|
String resBody = outInterfaceService.getPersonnelByIdsFromPCS(Arrays.asList(task.getHandlePersonId()));
|
|
JSONObject jsonObject = JSONObject.parseObject(resBody);
|
|
JSONObject jsonObject = JSONObject.parseObject(resBody);
|
|
//解析jason获得标的专利的权要
|
|
//解析jason获得标的专利的权要
|
|
List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
|
|
List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
|
|
map.put("value1", personnels.get(0).getPersonnelName());
|
|
map.put("value1", personnels.get(0).getPersonnelName());
|
|
|
|
+ name = personnels.get(0).getPersonnelName();
|
|
map.put("email", personnels.get(0).getPersonnelEmail());
|
|
map.put("email", personnels.get(0).getPersonnelEmail());
|
|
map.put("img", "\\src\\main\\resources\\mail\\logo.png");
|
|
map.put("img", "\\src\\main\\resources\\mail\\logo.png");
|
|
- map.put("value2", syneryCode.getCode());
|
|
|
|
- map.put("value3", "http://localhost:8086/Incomplete?taskId="+task.getId()+"&reportId="+task.getReportId()+"&type=1"+"&reportType="+report.getType());
|
|
|
|
|
|
+ map.put("value2", url + "/Incomplete?taskId=" + task.getId() + "&reportId=" + task.getReportId() + "&type=1" + "&reportType=" + report.getType());
|
|
mailUtils.sendEmailMessage(map);
|
|
mailUtils.sendEmailMessage(map);
|
|
- }
|
|
|
|
- else{
|
|
|
|
- String orgin = syneryVO.getPersonEmail();
|
|
|
|
|
|
+ } else {
|
|
|
|
+ map.put("template", "mail/Synery.html");
|
|
|
|
+ String orgin = syneryVO.getPersonEmail();
|
|
String parStr = "\\<([^}]*)\\>";
|
|
String parStr = "\\<([^}]*)\\>";
|
|
Pattern pattern = Pattern.compile(parStr);
|
|
Pattern pattern = Pattern.compile(parStr);
|
|
Matcher matcher = pattern.matcher(orgin);
|
|
Matcher matcher = pattern.matcher(orgin);
|
|
- if(matcher.find()) {
|
|
|
|
|
|
+ if (matcher.find()) {
|
|
String personName = orgin.substring(0, matcher.start());
|
|
String personName = orgin.substring(0, matcher.start());
|
|
- String email =matcher.group(0);
|
|
|
|
- email = email.replace("<","");
|
|
|
|
- email= email.replace(">","");
|
|
|
|
- map.put("value1",personName);
|
|
|
|
- map.put("email",email);
|
|
|
|
|
|
+ String email = matcher.group(0);
|
|
|
|
+ email = email.replace("<", "");
|
|
|
|
+ email = email.replace(">", "");
|
|
|
|
+ map.put("value1", personName);
|
|
|
|
+ name = personName;
|
|
|
|
+ map.put("email", email);
|
|
map.put("img", "\\src\\main\\resources\\mail\\logo.png");
|
|
map.put("img", "\\src\\main\\resources\\mail\\logo.png");
|
|
map.put("value2", syneryCode.getCode());
|
|
map.put("value2", syneryCode.getCode());
|
|
- map.put("value3", "http://localhost:8086/identificationCode");
|
|
|
|
|
|
+ map.put("value3", url + "/identificationCode");
|
|
mailUtils.sendEmailMessage(map);
|
|
mailUtils.sendEmailMessage(map);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ if (synery_ccs != null && synery_ccs.size() != 0) {
|
|
|
|
+ map.put("template", "mail/SyneryTo.html");
|
|
|
|
+ for (Synery_CC item : synery_ccs) {
|
|
|
|
+ item.setTaskId(task.getId());
|
|
|
|
+ if (item.getCcId() != null) {
|
|
|
|
+ String resBody = null;
|
|
|
|
+ try {
|
|
|
|
+ resBody = outInterfaceService.getPersonnelByIdsFromPCS(Arrays.asList(item.getCcId()));
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(resBody);
|
|
|
|
+ //解析jason获得标的专利的权要
|
|
|
|
+ List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
|
|
|
|
+ map.put("value1", personnel.getName());
|
|
|
|
+ map.put("email", personnels.get(0).getPersonnelEmail());
|
|
|
|
+ map.put("img", "\\src\\main\\resources\\mail\\logo.png");
|
|
|
|
+ map.put("value2", name);
|
|
|
|
+ mailUtils.sendEmailMessage(map);
|
|
|
|
+ } else {
|
|
|
|
+ String orgin = item.getCcEmail();
|
|
|
|
+ String parStr = "\\<([^}]*)\\>";
|
|
|
|
+ Pattern pattern = Pattern.compile(parStr);
|
|
|
|
+ Matcher matcher = pattern.matcher(orgin);
|
|
|
|
+ if (matcher.find()) {
|
|
|
|
+ String personName = orgin.substring(0, matcher.start());
|
|
|
|
+ String email = matcher.group(0);
|
|
|
|
+ email = email.replace("<", "");
|
|
|
|
+ email = email.replace(">", "");
|
|
|
|
+ map.put("value1", personnel.getName());
|
|
|
|
+ map.put("email", email);
|
|
|
|
+ map.put("img", "\\src\\main\\resources\\mail\\logo.png");
|
|
|
|
+ map.put("value2", name);
|
|
|
|
+ mailUtils.sendEmailMessage(map);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ syneryCCService.saveBatch(synery_ccs);
|
|
|
|
+ }
|
|
return Response.success();
|
|
return Response.success();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获得任务过滤条件
|
|
|
|
+ *
|
|
|
|
+ * @param reportId
|
|
|
|
+ */
|
|
|
|
+ public List<TaskSourceVO> getTaskSources(Integer reportId) throws IOException {
|
|
|
|
+ List<TaskSourceVO> taskSourceVOS = new ArrayList<>();
|
|
|
|
+ //任务类型列表
|
|
|
|
+ List<Integer> types = Arrays.asList(2, 3);
|
|
|
|
+ TaskSourceVO assignVO = new TaskSourceVO();
|
|
|
|
+ assignVO.setTaskType("分配任务");
|
|
|
|
+ TaskSourceVO siftVO = new TaskSourceVO();
|
|
|
|
+ siftVO.setTaskType("初筛任务");
|
|
|
|
+ //任务类型标识
|
|
|
|
+ List<Integer> typeFlag = new ArrayList<>();
|
|
|
|
+ //根据报告id获得所有对比文件
|
|
|
|
+ LambdaQueryWrapper<CompareFiles> comWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ comWrapper.select(CompareFiles::getPatentNo)
|
|
|
|
+ .eq(CompareFiles::getReportId, reportId);
|
|
|
|
+ Function<Object, String> f = (o -> o.toString());
|
|
|
|
+ List<String> comPatentNos = compareFilesService.listObjs(comWrapper, f);
|
|
|
|
+ //根据报告id获得初筛任务和对比任务
|
|
|
|
+ LambdaQueryWrapper<Task> taskWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ taskWrapper.eq(Task::getReportId, reportId)
|
|
|
|
+ .in(Task::getType, types);
|
|
|
|
+ List<Task> tasks = this.list(taskWrapper);
|
|
|
|
+ //筛选出任务id
|
|
|
|
+ List<Integer> taskIds = tasks.stream().map(Task::getId).collect(Collectors.toList());
|
|
|
|
+ //根据任务id获得任务专利关联记录
|
|
|
|
+ LambdaQueryWrapper<AssoTaskPersonel> assoWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ assoWrapper.in(AssoTaskPersonel::getTaskId, taskIds);
|
|
|
|
+ List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(assoWrapper);
|
|
|
|
+
|
|
|
|
+ for (Integer type : types) {
|
|
|
|
+ List<String> comPatentNosCopy = new ArrayList<>(comPatentNos);
|
|
|
|
+ TaskSourceVO vo = new TaskSourceVO();
|
|
|
|
+ if (type.equals(2)) {
|
|
|
|
+ vo.setTaskType("对比任务");
|
|
|
|
+ } else if (type.equals(3)) {
|
|
|
|
+ vo.setTaskType("初筛任务");
|
|
|
|
+ }
|
|
|
|
+ List<Integer> typeTaskIds = tasks.stream().filter(te -> te.getType().equals(type))
|
|
|
|
+ .map(Task::getId).collect(Collectors.toList());
|
|
|
|
+ List<AssoTaskPersonel> partAsso = assoTaskPersonels.stream()
|
|
|
|
+ .filter(te -> typeTaskIds.contains(te.getTaskId())).collect(Collectors.toList());
|
|
|
|
+ Map<Integer, TaskSourceVO.personDate> personMap = new LinkedHashMap<>();
|
|
|
|
+ for (AssoTaskPersonel item : partAsso) {
|
|
|
|
+ if (personMap.get(item.getPersonelId()) != null) {
|
|
|
|
+ TaskSourceVO.personDate personDate = personMap.get(item.getPersonelId());
|
|
|
|
+ //List<Integer> TaskIds = personDate.getTaskIds();
|
|
|
|
+ List<Integer> list = personDate.getTaskIds();
|
|
|
|
+ ArrayList<Integer> TaskIds = new ArrayList<>();
|
|
|
|
+ TaskIds.addAll(list);
|
|
|
|
+ List<String> done = new ArrayList<>(personDate.getDone());
|
|
|
|
+ List<String> notDone = new ArrayList<>(personDate.getNotDone());
|
|
|
|
+ if (!TaskIds.contains(item.getTaskId())) {
|
|
|
|
+ TaskIds.add(item.getTaskId());
|
|
|
|
+ }
|
|
|
|
+ if (item.getState().equals(1) && !done.contains(item.getPatentNo())) {
|
|
|
|
+ done.add(item.getPatentNo());
|
|
|
|
+ personDate.setDone(done);
|
|
|
|
+ personDate.setDoneNum(personDate.getDoneNum() + 1);
|
|
|
|
+ }
|
|
|
|
+ if (item.getState().equals(0) && !notDone.contains(item.getPatentNo())) {
|
|
|
|
+ notDone.add(item.getPatentNo());
|
|
|
|
+ personDate.setNotDone(notDone);
|
|
|
|
+ personDate.setNotDoneNum(personDate.getNotDoneNum() + 1);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ TaskSourceVO.personDate personDate = new TaskSourceVO.personDate();
|
|
|
|
+ personDate.setTaskIds(Arrays.asList(item.getTaskId()));
|
|
|
|
+ if (item.getState().equals(0)) {
|
|
|
|
+ personDate.setNotDoneNum(1);
|
|
|
|
+ personDate.setDoneNum(0);
|
|
|
|
+ personDate.setNotDone(Arrays.asList(item.getPatentNo()));
|
|
|
|
+ personDate.setDone(Arrays.asList());
|
|
|
|
+ } else if (item.getState().equals(1)) {
|
|
|
|
+ personDate.setDoneNum(1);
|
|
|
|
+ personDate.setNotDoneNum(0);
|
|
|
|
+ personDate.setDone(Arrays.asList(item.getPatentNo()));
|
|
|
|
+ personDate.setNotDone(Arrays.asList());
|
|
|
|
+ }
|
|
|
|
+ personMap.put(item.getPersonelId(), personDate);
|
|
|
|
+ }
|
|
|
|
+ comPatentNosCopy.remove(item.getPatentNo());
|
|
|
|
+ }
|
|
|
|
+ List<TaskSourceVO.personDate> lists = new ArrayList<>();
|
|
|
|
+ //根据人员Id获得人员信息
|
|
|
|
+ String res1 = outInterfaceService.getPersonnelByIdsFromPCS(new ArrayList<>(personMap.keySet()));
|
|
|
|
+ JSONObject jsonObject1 = JSONObject.parseObject(res1);
|
|
|
|
+ //解析jason获得标的专利的权要
|
|
|
|
+ List<Personnel> personnels = JSON.parseArray(jsonObject1.getString("data"), Personnel.class);
|
|
|
|
+ for (Integer key : personMap.keySet()) {
|
|
|
|
+ TaskSourceVO.personDate tem = personMap.get(key);
|
|
|
|
+ tem.setPersonId(key);
|
|
|
|
+ Personnel personnel = personnels.stream().
|
|
|
|
+ filter(te -> te.getId().equals(key)).findFirst().orElse(new Personnel());
|
|
|
|
+ tem.setPersonName(personnel.getPersonnelName());
|
|
|
|
+ lists.add(tem);
|
|
|
|
+ }
|
|
|
|
+ vo.setNotAssignNum(comPatentNosCopy.size());
|
|
|
|
+ vo.setPersonDates(lists);
|
|
|
|
+ taskSourceVOS.add(vo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //获得初筛任务ID
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ return taskSourceVOS;
|
|
|
|
+
|
|
|
|
+ }
|
|
}
|
|
}
|