|
@@ -45,10 +45,7 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.FileNotFoundException;
|
|
import java.io.FileNotFoundException;
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.Arrays;
|
|
|
|
-import java.util.Date;
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
+import java.util.*;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -93,6 +90,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
|
|
|
private final ITrialSelfInspectionRecordService iTrialSelfInspectionRecordService;
|
|
private final ITrialSelfInspectionRecordService iTrialSelfInspectionRecordService;
|
|
|
|
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<TaskParallel> queryApprovalUser(String formDataIds) {
|
|
public List<TaskParallel> queryApprovalUser(String formDataIds) {
|
|
//返回结果
|
|
//返回结果
|
|
@@ -100,12 +98,12 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
|
|
|
String[] formDataIdArray = formDataIds.split(",");
|
|
String[] formDataIdArray = formDataIds.split(",");
|
|
List<Long> taskIds = new ArrayList<>();
|
|
List<Long> taskIds = new ArrayList<>();
|
|
- for(String formDataId : formDataIdArray){
|
|
|
|
|
|
+ for (String formDataId : formDataIdArray) {
|
|
Task task = this.baseMapper.queryTaskListByFormDataId(formDataId);
|
|
Task task = this.baseMapper.queryTaskListByFormDataId(formDataId);
|
|
- if(!taskIds.contains(task.getId())){
|
|
|
|
|
|
+ if (!taskIds.contains(task.getId())) {
|
|
//查询审批人
|
|
//查询审批人
|
|
List<TaskParallel> parallels = this.taskParallelService.queryApprovalUser(task.getProcessInstanceId());
|
|
List<TaskParallel> parallels = this.taskParallelService.queryApprovalUser(task.getProcessInstanceId());
|
|
- if(parallels != null && parallels.size() > 0){
|
|
|
|
|
|
+ if (parallels != null && parallels.size() > 0) {
|
|
result.addAll(parallels);
|
|
result.addAll(parallels);
|
|
}
|
|
}
|
|
taskIds.add(task.getId());
|
|
taskIds.add(task.getId());
|
|
@@ -114,54 +112,54 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 任务专用
|
|
|
|
- */
|
|
|
|
- @Override
|
|
|
|
- public TaskApprovalVO queryBusinessDataTask(TaskApprovalVO taskApprovalVO) {
|
|
|
|
- int foreachNumber = 0;
|
|
|
|
- do {
|
|
|
|
- //判断锁是否存在
|
|
|
|
- if(!DistributedRedisLock.getLockStatus(taskApprovalVO.getFormDataId())){
|
|
|
|
- //如果不存在,直接获取并上锁,由于这个查询方法是任务方面使用,所以解锁需要在对应数据使用结束后
|
|
|
|
- DistributedRedisLock.acquire(taskApprovalVO.getFormDataId(), 20);
|
|
|
|
- switch (taskApprovalVO.getApprovalType()){
|
|
|
|
- case 1:
|
|
|
|
- //填报数据
|
|
|
|
- return this.queryProcessSubmitBusinessData(taskApprovalVO.getFormDataId(), true);
|
|
|
|
- case 2:
|
|
|
|
- //工程文件
|
|
|
|
- return this.queryArchiveFileBusinessData(taskApprovalVO.getFormDataId());
|
|
|
|
- case 3:
|
|
|
|
- //日志资料
|
|
|
|
- return this.queryTheLogFileBusinessData(taskApprovalVO.getFormDataId());
|
|
|
|
- default:
|
|
|
|
- //未找到数据,解锁
|
|
|
|
- DistributedRedisLock.release(taskApprovalVO.getFormDataId());
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- try{
|
|
|
|
- if(foreachNumber < 10){
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 任务专用
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public TaskApprovalVO queryBusinessDataTask(TaskApprovalVO taskApprovalVO) {
|
|
|
|
+ int foreachNumber = 0;
|
|
|
|
+ do {
|
|
|
|
+ //判断锁是否存在
|
|
|
|
+ if (!DistributedRedisLock.getLockStatus(taskApprovalVO.getFormDataId())) {
|
|
|
|
+ //如果不存在,直接获取并上锁,由于这个查询方法是任务方面使用,所以解锁需要在对应数据使用结束后
|
|
|
|
+ DistributedRedisLock.acquire(taskApprovalVO.getFormDataId(), 20);
|
|
|
|
+ switch (taskApprovalVO.getApprovalType()) {
|
|
|
|
+ case 1:
|
|
|
|
+ //填报数据
|
|
|
|
+ return this.queryProcessSubmitBusinessData(taskApprovalVO.getFormDataId(), true);
|
|
|
|
+ case 2:
|
|
|
|
+ //工程文件
|
|
|
|
+ return this.queryArchiveFileBusinessData(taskApprovalVO.getFormDataId());
|
|
|
|
+ case 3:
|
|
|
|
+ //日志资料
|
|
|
|
+ return this.queryTheLogFileBusinessData(taskApprovalVO.getFormDataId());
|
|
|
|
+ default:
|
|
|
|
+ //未找到数据,解锁
|
|
|
|
+ DistributedRedisLock.release(taskApprovalVO.getFormDataId());
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ try {
|
|
|
|
+ if (foreachNumber < 10) {
|
|
//如果存在锁,则等待解锁
|
|
//如果存在锁,则等待解锁
|
|
TimeUnit.MILLISECONDS.sleep(5);
|
|
TimeUnit.MILLISECONDS.sleep(5);
|
|
- foreachNumber ++;
|
|
|
|
|
|
+ foreachNumber++;
|
|
} else {
|
|
} else {
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- }catch (Exception e){
|
|
|
|
|
|
+ } catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
- }
|
|
|
|
- } while (true);
|
|
|
|
- //能走到这说明找不到文件或者超过锁定次数,解锁并返回
|
|
|
|
- DistributedRedisLock.release(taskApprovalVO.getFormDataId());
|
|
|
|
- return taskApprovalVO;
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ } while (true);
|
|
|
|
+ //能走到这说明找不到文件或者超过锁定次数,解锁并返回
|
|
|
|
+ DistributedRedisLock.release(taskApprovalVO.getFormDataId());
|
|
|
|
+ return taskApprovalVO;
|
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public TaskApprovalVO queryBusinessData(TaskApprovalVO taskApprovalVO) {
|
|
public TaskApprovalVO queryBusinessData(TaskApprovalVO taskApprovalVO) {
|
|
- switch (taskApprovalVO.getApprovalType()){
|
|
|
|
|
|
+ switch (taskApprovalVO.getApprovalType()) {
|
|
case 1:
|
|
case 1:
|
|
//填报数据
|
|
//填报数据
|
|
return this.queryProcessSubmitBusinessData(taskApprovalVO.getFormDataId(), false);
|
|
return this.queryProcessSubmitBusinessData(taskApprovalVO.getFormDataId(), false);
|
|
@@ -179,11 +177,11 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
/**
|
|
/**
|
|
* 日志资料
|
|
* 日志资料
|
|
*/
|
|
*/
|
|
- private TaskApprovalVO queryTheLogFileBusinessData(String formDataId){
|
|
|
|
|
|
+ private TaskApprovalVO queryTheLogFileBusinessData(String formDataId) {
|
|
//查询对应的数据
|
|
//查询对应的数据
|
|
TaskApprovalVO vo = new TaskApprovalVO();
|
|
TaskApprovalVO vo = new TaskApprovalVO();
|
|
ContractLog log = this.contractLogService.getById(formDataId);
|
|
ContractLog log = this.contractLogService.getById(formDataId);
|
|
- if(log != null && (StringUtils.isNotEmpty(log.getPdfUrl()) || StringUtils.isNotEmpty(log.getEVisaPdfUrl()))){
|
|
|
|
|
|
+ if (log != null && (StringUtils.isNotEmpty(log.getPdfUrl()) || StringUtils.isNotEmpty(log.getEVisaPdfUrl()))) {
|
|
vo.setApprovalFileList(log.getFileName(), StringUtils.isNotEmpty(log.getEVisaPdfUrl()) ? log.getEVisaPdfUrl() : log.getPdfUrl());
|
|
vo.setApprovalFileList(log.getFileName(), StringUtils.isNotEmpty(log.getEVisaPdfUrl()) ? log.getEVisaPdfUrl() : log.getPdfUrl());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -193,32 +191,32 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
/**
|
|
/**
|
|
* 查询填报数据
|
|
* 查询填报数据
|
|
*/
|
|
*/
|
|
- private TaskApprovalVO queryProcessSubmitBusinessData(String formDataId, boolean isTask){
|
|
|
|
|
|
+ private TaskApprovalVO queryProcessSubmitBusinessData(String formDataId, boolean isTask) {
|
|
//查询对应的数据
|
|
//查询对应的数据
|
|
TaskApprovalVO vo = new TaskApprovalVO();
|
|
TaskApprovalVO vo = new TaskApprovalVO();
|
|
|
|
|
|
InformationQuery query = this.informationQueryService.getById(formDataId);
|
|
InformationQuery query = this.informationQueryService.getById(formDataId);
|
|
- if(query != null){
|
|
|
|
- if(new Integer("3").equals(query.getType())){
|
|
|
|
|
|
+ if (query != null) {
|
|
|
|
+ if (new Integer("3").equals(query.getType())) {
|
|
//首件,首件的资料由三个部分组成:封面、关联资料、总结报告
|
|
//首件,首件的资料由三个部分组成:封面、关联资料、总结报告
|
|
- if(StringUtils.isNotEmpty(query.getEVisaPdfUrl()) || StringUtils.isNotEmpty(query.getPdfUrl())){
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(query.getEVisaPdfUrl()) || StringUtils.isNotEmpty(query.getPdfUrl())) {
|
|
//封面
|
|
//封面
|
|
vo.setApprovalFileList(query.getName(), StringUtils.isNotEmpty(query.getEVisaPdfUrl()) ? query.getEVisaPdfUrl() : query.getPdfUrl());
|
|
vo.setApprovalFileList(query.getName(), StringUtils.isNotEmpty(query.getEVisaPdfUrl()) ? query.getEVisaPdfUrl() : query.getPdfUrl());
|
|
}
|
|
}
|
|
//不是签章时再查关联资料,因为关联资料都是审批好的pdf,存在关键字,不能再执行签 字/章
|
|
//不是签章时再查关联资料,因为关联资料都是审批好的pdf,存在关键字,不能再执行签 字/章
|
|
- if(!isTask){
|
|
|
|
|
|
+ if (!isTask) {
|
|
//关联资料
|
|
//关联资料
|
|
- if(StringUtils.isNotEmpty(query.getLinkMergePdfUrl())){
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(query.getLinkMergePdfUrl())) {
|
|
vo.setApprovalFileList("首件关联资料", query.getLinkMergePdfUrl());
|
|
vo.setApprovalFileList("首件关联资料", query.getLinkMergePdfUrl());
|
|
}
|
|
}
|
|
InformationQueryFile queryFile = this.informationQueryFileService.getOne(Wrappers.<InformationQueryFile>lambdaQuery().eq(InformationQueryFile::getQueryId, query.getId()));
|
|
InformationQueryFile queryFile = this.informationQueryFileService.getOne(Wrappers.<InformationQueryFile>lambdaQuery().eq(InformationQueryFile::getQueryId, query.getId()));
|
|
- if(queryFile != null){
|
|
|
|
|
|
+ if (queryFile != null) {
|
|
vo.setApprovalFileList(queryFile.getName(), queryFile.getPdfUrl());
|
|
vo.setApprovalFileList(queryFile.getName(), queryFile.getPdfUrl());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
} else {
|
|
} else {
|
|
- if(StringUtils.isNotEmpty(query.getEVisaPdfUrl()) || StringUtils.isNotEmpty(query.getPdfUrl())){
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(query.getEVisaPdfUrl()) || StringUtils.isNotEmpty(query.getPdfUrl())) {
|
|
vo.setApprovalFileList(query.getName(), StringUtils.isNotEmpty(query.getEVisaPdfUrl()) ? query.getEVisaPdfUrl() : query.getPdfUrl());
|
|
vo.setApprovalFileList(query.getName(), StringUtils.isNotEmpty(query.getEVisaPdfUrl()) ? query.getEVisaPdfUrl() : query.getPdfUrl());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -229,12 +227,12 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
/**
|
|
/**
|
|
* 查询工程文件
|
|
* 查询工程文件
|
|
*/
|
|
*/
|
|
- private TaskApprovalVO queryArchiveFileBusinessData(String formDataId){
|
|
|
|
|
|
+ private TaskApprovalVO queryArchiveFileBusinessData(String formDataId) {
|
|
List<ArchiveFile> archiveFileList = this.archiveFileService.list(Wrappers.<ArchiveFile>lambdaQuery().in(ArchiveFile::getId, Arrays.asList(formDataId.split(","))).eq(ArchiveFile::getIsDeleted, 0));
|
|
List<ArchiveFile> archiveFileList = this.archiveFileService.list(Wrappers.<ArchiveFile>lambdaQuery().in(ArchiveFile::getId, Arrays.asList(formDataId.split(","))).eq(ArchiveFile::getIsDeleted, 0));
|
|
- if(archiveFileList != null && archiveFileList.size() > 0){
|
|
|
|
|
|
+ if (archiveFileList != null && archiveFileList.size() > 0) {
|
|
//转换数据
|
|
//转换数据
|
|
TaskApprovalVO vo = new TaskApprovalVO();
|
|
TaskApprovalVO vo = new TaskApprovalVO();
|
|
- for(ArchiveFile archiveFile : archiveFileList){
|
|
|
|
|
|
+ for (ArchiveFile archiveFile : archiveFileList) {
|
|
vo.setApprovalFileList(archiveFile.getFileName(), StringUtils.isEmpty(archiveFile.getPdfFileUrl()) ? archiveFile.getFileUrl() : archiveFile.getPdfFileUrl());
|
|
vo.setApprovalFileList(archiveFile.getFileName(), StringUtils.isEmpty(archiveFile.getPdfFileUrl()) ? archiveFile.getFileUrl() : archiveFile.getPdfFileUrl());
|
|
}
|
|
}
|
|
return vo;
|
|
return vo;
|
|
@@ -248,9 +246,9 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
List<Long> record = new ArrayList<>();
|
|
List<Long> record = new ArrayList<>();
|
|
|
|
|
|
String[] formDataIdArray = formDataIds.split(",");
|
|
String[] formDataIdArray = formDataIds.split(",");
|
|
- for(String formDataId : formDataIdArray){
|
|
|
|
|
|
+ for (String formDataId : formDataIdArray) {
|
|
Task task = this.baseMapper.queryTaskListByFormDataId(formDataId);
|
|
Task task = this.baseMapper.queryTaskListByFormDataId(formDataId);
|
|
- if(task != null && !record.contains(task.getId())){
|
|
|
|
|
|
+ if (task != null && !record.contains(task.getId())) {
|
|
record.add(task.getId());
|
|
record.add(task.getId());
|
|
result.add(task);
|
|
result.add(task);
|
|
}
|
|
}
|
|
@@ -264,17 +262,17 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
List<TaskParallel> linkList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, task.getProcessInstanceId()));
|
|
List<TaskParallel> linkList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, task.getProcessInstanceId()));
|
|
|
|
|
|
//将所有分支流程执行结束
|
|
//将所有分支流程执行结束
|
|
- for(TaskParallel taskParallel : linkList){
|
|
|
|
|
|
+ for (TaskParallel taskParallel : linkList) {
|
|
//根据实例ID获取任务ID
|
|
//根据实例ID获取任务ID
|
|
String linkTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(taskParallel.getParallelProcessInstanceId());
|
|
String linkTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(taskParallel.getParallelProcessInstanceId());
|
|
- if(StringUtils.isNotEmpty(linkTaskId)){
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(linkTaskId)) {
|
|
//结束分支流程
|
|
//结束分支流程
|
|
this.newFlowClient.completeApprovalTask(linkTaskId, taskParallel.getParallelProcessInstanceId(), "上报人主动废除");
|
|
this.newFlowClient.completeApprovalTask(linkTaskId, taskParallel.getParallelProcessInstanceId(), "上报人主动废除");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//获取主流程的任务ID
|
|
//获取主流程的任务ID
|
|
String masterTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(task.getProcessInstanceId());
|
|
String masterTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(task.getProcessInstanceId());
|
|
- if(StringUtils.isNotEmpty(masterTaskId)){
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(masterTaskId)) {
|
|
//结束主流程
|
|
//结束主流程
|
|
this.newFlowClient.completeApprovalTask(masterTaskId, task.getProcessInstanceId(), "上报人主动废除");
|
|
this.newFlowClient.completeApprovalTask(masterTaskId, task.getProcessInstanceId(), "上报人主动废除");
|
|
}
|
|
}
|
|
@@ -287,6 +285,44 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Map<String, String> getTaskCount(String projectId, String contractId, String userId) {
|
|
|
|
+ List<Task> tasks = this.baseMapper.selectList(Wrappers.<Task>lambdaQuery()
|
|
|
|
+ .eq(Task::getProjectId, projectId)
|
|
|
|
+ .eq(Task::getContractId, contractId)
|
|
|
|
+ .eq(Task::getStatus, 1));
|
|
|
|
+
|
|
|
|
+ List<String> collect = tasks.stream().map(Task::getProcessInstanceId).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ long aLong = 0L;
|
|
|
|
+ if (collect.size() > 0) {
|
|
|
|
+ for (String id : collect) {
|
|
|
|
+ Long row = taskParallelService.getBaseMapper().selectCount(Wrappers.<TaskParallel>lambdaQuery()
|
|
|
|
+ .eq(TaskParallel::getProcessInstanceId, id)
|
|
|
|
+ .eq(TaskParallel::getStatus, 1)
|
|
|
|
+ .eq(TaskParallel::getTaskUser, userId)
|
|
|
|
+ );
|
|
|
|
+ if (row == 1) {
|
|
|
|
+ aLong++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ long aLong1 = messageWarningService.getBaseMapper().selectCount(Wrappers.<MessageWarning>lambdaQuery()
|
|
|
|
+ .eq(MessageWarning::getProjectId, projectId)
|
|
|
|
+ .eq(MessageWarning::getContractId, contractId)
|
|
|
|
+ .eq(MessageWarning::getPushUser, userId)
|
|
|
|
+ .eq(MessageWarning::getIsRead, 0)
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ Map<String, String> map = new HashMap<>();
|
|
|
|
+ map.put("taskCount", String.valueOf(aLong));
|
|
|
|
+ map.put("messageCount", String.valueOf(aLong1));
|
|
|
|
+ map.put("allCount", String.valueOf(aLong + aLong1));
|
|
|
|
+ map.put("userId", userId);
|
|
|
|
+ return map;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<Task> queryBatchList(String projectId, String contract) {
|
|
public List<Task> queryBatchList(String projectId, String contract) {
|
|
return this.baseMapper.queryBatchList(projectId, contract);
|
|
return this.baseMapper.queryBatchList(projectId, contract);
|
|
@@ -298,7 +334,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
List<String> taskIds = taskApprovalVOS.stream().map(TaskApprovalVO::getParallelProcessInstanceId).distinct().collect(Collectors.toList());
|
|
List<String> taskIds = taskApprovalVOS.stream().map(TaskApprovalVO::getParallelProcessInstanceId).distinct().collect(Collectors.toList());
|
|
|
|
|
|
long batch = this.taskBatchService.count(Wrappers.<TaskBatch>lambdaQuery().eq(TaskBatch::getCreateUser, AuthUtil.getUserId()));
|
|
long batch = this.taskBatchService.count(Wrappers.<TaskBatch>lambdaQuery().eq(TaskBatch::getCreateUser, AuthUtil.getUserId()));
|
|
- if(batch > 0){
|
|
|
|
|
|
+ if (batch > 0) {
|
|
//修改电签状态
|
|
//修改电签状态
|
|
this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate()
|
|
this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate()
|
|
.set(TaskParallel::getEVisaContent, "当前等待电签的批次较多,请等待几分钟后刷新页面查看........")
|
|
.set(TaskParallel::getEVisaContent, "当前等待电签的批次较多,请等待几分钟后刷新页面查看........")
|
|
@@ -329,20 +365,20 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- private void checkIsExsitTaskBatch(List<TaskApprovalVO> taskApprovalVOS, String batchId){
|
|
|
|
|
|
+ private void checkIsExsitTaskBatch(List<TaskApprovalVO> taskApprovalVOS, String batchId) {
|
|
boolean isContinue = true;
|
|
boolean isContinue = true;
|
|
- while (isContinue){
|
|
|
|
|
|
+ while (isContinue) {
|
|
logger.info("【任务审核】当前批次开始电签。批次ID:" + batchId);
|
|
logger.info("【任务审核】当前批次开始电签。批次ID:" + batchId);
|
|
//执行电签
|
|
//执行电签
|
|
- for(TaskApprovalVO taskApprovalVO : taskApprovalVOS){
|
|
|
|
|
|
+ for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
|
|
this.completeApprovalTask(taskApprovalVO);
|
|
this.completeApprovalTask(taskApprovalVO);
|
|
}
|
|
}
|
|
//删除掉对应批次
|
|
//删除掉对应批次
|
|
this.taskBatchService.deletedById(batchId);
|
|
this.taskBatchService.deletedById(batchId);
|
|
- try{
|
|
|
|
|
|
+ try {
|
|
//查询是否还存在对应批次(时间升序)
|
|
//查询是否还存在对应批次(时间升序)
|
|
List<TaskBatch> taskBatches = this.taskBatchService.list(Wrappers.<TaskBatch>lambdaQuery().eq(TaskBatch::getCreateUser, AuthUtil.getUserId()).orderByAsc(TaskBatch::getCreateTime));
|
|
List<TaskBatch> taskBatches = this.taskBatchService.list(Wrappers.<TaskBatch>lambdaQuery().eq(TaskBatch::getCreateUser, AuthUtil.getUserId()).orderByAsc(TaskBatch::getCreateTime));
|
|
- if(taskBatches != null && taskBatches.size() > 0){
|
|
|
|
|
|
+ if (taskBatches != null && taskBatches.size() > 0) {
|
|
TaskBatch taskBatch = taskBatches.get(0);
|
|
TaskBatch taskBatch = taskBatches.get(0);
|
|
//获取业务参数集合
|
|
//获取业务参数集合
|
|
taskApprovalVOS = JSONArray.parseArray(JSONObject.toJSONString(taskBatch.getJsonData()), TaskApprovalVO.class);
|
|
taskApprovalVOS = JSONArray.parseArray(JSONObject.toJSONString(taskBatch.getJsonData()), TaskApprovalVO.class);
|
|
@@ -351,7 +387,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
logger.info("【任务审核】已无等待电签批次!当前线程结束即将释放。");
|
|
logger.info("【任务审核】已无等待电签批次!当前线程结束即将释放。");
|
|
isContinue = false;
|
|
isContinue = false;
|
|
}
|
|
}
|
|
- }catch (Exception e){
|
|
|
|
|
|
+ } catch (Exception e) {
|
|
isContinue = false;
|
|
isContinue = false;
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
@@ -365,18 +401,18 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
String parallelProcessInstanceId = taskApprovalVO.getParallelProcessInstanceId();
|
|
String parallelProcessInstanceId = taskApprovalVO.getParallelProcessInstanceId();
|
|
//获取审批内容
|
|
//获取审批内容
|
|
String comment = taskApprovalVO.getComment();
|
|
String comment = taskApprovalVO.getComment();
|
|
- if(StringUtils.isEmpty(comment) && "OK".equals(taskApprovalVO.getFlag())){
|
|
|
|
|
|
+ if (StringUtils.isEmpty(comment) && "OK".equals(taskApprovalVO.getFlag())) {
|
|
comment = "同意";
|
|
comment = "同意";
|
|
}
|
|
}
|
|
//获取当前分支信息
|
|
//获取当前分支信息
|
|
TaskParallel currentLink = this.taskParallelService.getOne(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getParallelProcessInstanceId, parallelProcessInstanceId).eq(TaskParallel::getIsDeleted, 0));
|
|
TaskParallel currentLink = this.taskParallelService.getOne(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getParallelProcessInstanceId, parallelProcessInstanceId).eq(TaskParallel::getIsDeleted, 0));
|
|
- if(currentLink == null){
|
|
|
|
|
|
+ if (currentLink == null) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
//获取主流程
|
|
//获取主流程
|
|
Task masterTask = this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getIsDeleted, 0).eq(Task::getProcessInstanceId, currentLink.getProcessInstanceId()));
|
|
Task masterTask = this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getIsDeleted, 0).eq(Task::getProcessInstanceId, currentLink.getProcessInstanceId()));
|
|
|
|
|
|
- if("OK".equals(taskApprovalVO.getFlag())){
|
|
|
|
|
|
+ if ("OK".equals(taskApprovalVO.getFlag())) {
|
|
//同意,执行签章
|
|
//同意,执行签章
|
|
//todo ============================ 执行电签区域 ============================
|
|
//todo ============================ 执行电签区域 ============================
|
|
//电签状态
|
|
//电签状态
|
|
@@ -384,7 +420,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
//todo ============================ 执行电签区域 ============================
|
|
//todo ============================ 执行电签区域 ============================
|
|
|
|
|
|
//电签状态分为success/notPfxOrFile/error,当状态为error时就需要重新提交请求
|
|
//电签状态分为success/notPfxOrFile/error,当状态为error时就需要重新提交请求
|
|
- if("success".equals(eVisaStatus) || eVisaStatus.contains("success")){
|
|
|
|
|
|
+ if ("success".equals(eVisaStatus) || eVisaStatus.contains("success")) {
|
|
//审批通过会返回签章成功的文件,需要设置替换
|
|
//审批通过会返回签章成功的文件,需要设置替换
|
|
//完成/审批当前分支流程
|
|
//完成/审批当前分支流程
|
|
this.newFlowClient.completeApprovalTask(taskId, parallelProcessInstanceId, comment).getData();
|
|
this.newFlowClient.completeApprovalTask(taskId, parallelProcessInstanceId, comment).getData();
|
|
@@ -402,24 +438,24 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
//获取状态为1(待审批)的分支流程
|
|
//获取状态为1(待审批)的分支流程
|
|
List<TaskParallel> otherLink = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, currentLink.getProcessInstanceId()).eq(TaskParallel::getIsDeleted, 0).eq(TaskParallel::getStatus, 1));
|
|
List<TaskParallel> otherLink = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, currentLink.getProcessInstanceId()).eq(TaskParallel::getIsDeleted, 0).eq(TaskParallel::getStatus, 1));
|
|
|
|
|
|
- if(otherLink == null || otherLink.size() == 0){
|
|
|
|
|
|
+ if (otherLink == null || otherLink.size() == 0) {
|
|
//说明都审批完成,将主表状态更改为已完成
|
|
//说明都审批完成,将主表状态更改为已完成
|
|
String finalPdfUrl = null;
|
|
String finalPdfUrl = null;
|
|
- if(eVisaStatus.contains("@@@@")){
|
|
|
|
|
|
+ if (eVisaStatus.contains("@@@@")) {
|
|
finalPdfUrl = eVisaStatus.split("@@@@")[1];
|
|
finalPdfUrl = eVisaStatus.split("@@@@")[1];
|
|
}
|
|
}
|
|
//todo ===================== 执行合同章
|
|
//todo ===================== 执行合同章
|
|
- try{
|
|
|
|
|
|
+ try {
|
|
//执行合同章,返回的是盖有合同章的PDF路径
|
|
//执行合同章,返回的是盖有合同章的PDF路径
|
|
finalPdfUrl = this.eVisaClient.eVisaContractSeal(JSONObject.parseObject(JSONObject.toJSONString(taskApprovalVO), EVisaTaskApprovalVO.class), finalPdfUrl);
|
|
finalPdfUrl = this.eVisaClient.eVisaContractSeal(JSONObject.parseObject(JSONObject.toJSONString(taskApprovalVO), EVisaTaskApprovalVO.class), finalPdfUrl);
|
|
- }catch (Exception e){
|
|
|
|
|
|
+ } catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
//todo ===================== 执行合同章
|
|
//todo ===================== 执行合同章
|
|
|
|
|
|
//根据主表的业务ID(processInstanceId)获取主流程的taskId
|
|
//根据主表的业务ID(processInstanceId)获取主流程的taskId
|
|
String masterTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(masterTask.getProcessInstanceId());
|
|
String masterTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(masterTask.getProcessInstanceId());
|
|
- if(StringUtils.isNotEmpty(masterTaskId)){
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(masterTaskId)) {
|
|
//完成流程
|
|
//完成流程
|
|
this.newFlowClient.completeApprovalTask(taskId, masterTask.getProcessInstanceId(), "审批完成");
|
|
this.newFlowClient.completeApprovalTask(taskId, masterTask.getProcessInstanceId(), "审批完成");
|
|
//修改主流程状态为已完成
|
|
//修改主流程状态为已完成
|
|
@@ -429,12 +465,12 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
//只更新PDF路径
|
|
//只更新PDF路径
|
|
- this.updateBusinessDataByFormDataId(masterTask, 1, eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null);
|
|
|
|
|
|
+ this.updateBusinessDataByFormDataId(masterTask, 1, eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null);
|
|
}
|
|
}
|
|
- } else if("eVisaError".equals(eVisaStatus) || eVisaStatus.contains("eVisaError")){
|
|
|
|
|
|
+ } else if ("eVisaError".equals(eVisaStatus) || eVisaStatus.contains("eVisaError")) {
|
|
//电签失败,将对应分支任务的电签状态修改为99并添加错误信息
|
|
//电签失败,将对应分支任务的电签状态修改为99并添加错误信息
|
|
String message = "电签失败";
|
|
String message = "电签失败";
|
|
- if(eVisaStatus.contains("####")){
|
|
|
|
|
|
+ if (eVisaStatus.contains("####")) {
|
|
message = eVisaStatus.split("####")[1];
|
|
message = eVisaStatus.split("####")[1];
|
|
}
|
|
}
|
|
//修改
|
|
//修改
|
|
@@ -473,18 +509,18 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
//主流程实例ID
|
|
//主流程实例ID
|
|
String masterProcessInstanceId;
|
|
String masterProcessInstanceId;
|
|
|
|
|
|
- if(otherLink != null && otherLink.size() > 0){
|
|
|
|
|
|
+ if (otherLink != null && otherLink.size() > 0) {
|
|
masterProcessInstanceId = otherLink.get(0).getProcessInstanceId();
|
|
masterProcessInstanceId = otherLink.get(0).getProcessInstanceId();
|
|
- for(TaskParallel parallel : otherLink){
|
|
|
|
- if(!new Integer("2").equals(parallel.getStatus())){
|
|
|
|
|
|
+ for (TaskParallel parallel : otherLink) {
|
|
|
|
+ if (!new Integer("2").equals(parallel.getStatus())) {
|
|
//修改所有状态为已废除
|
|
//修改所有状态为已废除
|
|
this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate().set(TaskParallel::getInitiative, 2).set(TaskParallel::getUpdateUser, AuthUtil.getUserId()).set(TaskParallel::getUpdateTime, new Date()).eq(TaskParallel::getId, parallel.getId()));
|
|
this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate().set(TaskParallel::getInitiative, 2).set(TaskParallel::getUpdateUser, AuthUtil.getUserId()).set(TaskParallel::getUpdateTime, new Date()).eq(TaskParallel::getId, parallel.getId()));
|
|
|
|
|
|
- if(new Integer("1").equals(parallel.getStatus())){
|
|
|
|
|
|
+ if (new Integer("1").equals(parallel.getStatus())) {
|
|
//存在未审批的情况,自动执行其分支流程
|
|
//存在未审批的情况,自动执行其分支流程
|
|
//获取流程ID
|
|
//获取流程ID
|
|
String parallelTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(parallel.getParallelProcessInstanceId());
|
|
String parallelTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(parallel.getParallelProcessInstanceId());
|
|
- if(StringUtils.isNotEmpty(parallelTaskId)){
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(parallelTaskId)) {
|
|
//执行流程
|
|
//执行流程
|
|
this.newFlowClient.completeApprovalTask(parallelTaskId, parallel.getParallelProcessInstanceId(), "其它分支主动废除任务,当前任务被动完成");
|
|
this.newFlowClient.completeApprovalTask(parallelTaskId, parallel.getParallelProcessInstanceId(), "其它分支主动废除任务,当前任务被动完成");
|
|
}
|
|
}
|
|
@@ -499,7 +535,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
//处理完分支流程后,将主流程结束并设置状态为废除
|
|
//处理完分支流程后,将主流程结束并设置状态为废除
|
|
//获取主流程的taskId
|
|
//获取主流程的taskId
|
|
String masterTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(masterProcessInstanceId);
|
|
String masterTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(masterProcessInstanceId);
|
|
- if(StringUtils.isNotEmpty(masterTaskId)){
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(masterTaskId)) {
|
|
//执行流程
|
|
//执行流程
|
|
this.newFlowClient.completeApprovalTask(masterTaskId, masterProcessInstanceId, "废除任务");
|
|
this.newFlowClient.completeApprovalTask(masterTaskId, masterProcessInstanceId, "废除任务");
|
|
}
|
|
}
|
|
@@ -516,22 +552,22 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
/**
|
|
/**
|
|
* 任务废除通知
|
|
* 任务废除通知
|
|
*/
|
|
*/
|
|
- private void abolishMessage(Task masterTask, TaskParallel currentLink, String comment){
|
|
|
|
|
|
+ private void abolishMessage(Task masterTask, TaskParallel currentLink, String comment) {
|
|
//查询合同段及项目名称
|
|
//查询合同段及项目名称
|
|
ProjectInfo projectInfo = this.projectClient.queryProjectList(Func.toStrList(masterTask.getProjectId())).get(0);
|
|
ProjectInfo projectInfo = this.projectClient.queryProjectList(Func.toStrList(masterTask.getProjectId())).get(0);
|
|
String projectName = StringUtils.isNotEmpty(projectInfo.getProjectAlias()) ? projectInfo.getProjectAlias() : projectInfo.getProjectName();
|
|
String projectName = StringUtils.isNotEmpty(projectInfo.getProjectAlias()) ? projectInfo.getProjectAlias() : projectInfo.getProjectName();
|
|
ContractInfo contractInfo = this.contractClient.getContractById(Long.parseLong(masterTask.getContractId()));
|
|
ContractInfo contractInfo = this.contractClient.getContractById(Long.parseLong(masterTask.getContractId()));
|
|
String contractName = contractInfo.getContractName();
|
|
String contractName = contractInfo.getContractName();
|
|
|
|
|
|
- try{
|
|
|
|
|
|
+ try {
|
|
//记录已经通知的人
|
|
//记录已经通知的人
|
|
List<Long> userIds = new ArrayList<>();
|
|
List<Long> userIds = new ArrayList<>();
|
|
|
|
|
|
//设置废除通知信息
|
|
//设置废除通知信息
|
|
List<MessageWarningVO> messageWarningList = new ArrayList<>();
|
|
List<MessageWarningVO> messageWarningList = new ArrayList<>();
|
|
List<TaskParallel> linkTaskList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, masterTask.getProcessInstanceId()));
|
|
List<TaskParallel> linkTaskList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, masterTask.getProcessInstanceId()));
|
|
- for(TaskParallel parallel : linkTaskList){
|
|
|
|
- if(!currentLink.getId().equals(parallel.getId()) && !userIds.contains(Long.parseLong(parallel.getTaskUser()))){
|
|
|
|
|
|
+ for (TaskParallel parallel : linkTaskList) {
|
|
|
|
+ if (!currentLink.getId().equals(parallel.getId()) && !userIds.contains(Long.parseLong(parallel.getTaskUser()))) {
|
|
messageWarningList.add(new MessageWarningVO(
|
|
messageWarningList.add(new MessageWarningVO(
|
|
Long.parseLong(masterTask.getProjectId()),
|
|
Long.parseLong(masterTask.getProjectId()),
|
|
Long.parseLong(masterTask.getContractId()),
|
|
Long.parseLong(masterTask.getContractId()),
|
|
@@ -559,19 +595,19 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
//查询业务数据
|
|
//查询业务数据
|
|
JSONObject businessJson = this.queryTaskBusinessObject(masterTask.getFormDataId());
|
|
JSONObject businessJson = this.queryTaskBusinessObject(masterTask.getFormDataId());
|
|
//通知填报人
|
|
//通知填报人
|
|
- if(businessJson.containsKey("isQuery") || businessJson.containsKey("isLog") || businessJson.containsKey("isArchive")){
|
|
|
|
|
|
+ if (businessJson.containsKey("isQuery") || businessJson.containsKey("isLog") || businessJson.containsKey("isArchive")) {
|
|
//获取集合
|
|
//获取集合
|
|
List<JSONObject> result = JSONArray.parseArray(JSONObject.toJSONString(businessJson.get("result")), JSONObject.class);
|
|
List<JSONObject> result = JSONArray.parseArray(JSONObject.toJSONString(businessJson.get("result")), JSONObject.class);
|
|
- for(JSONObject json : result){
|
|
|
|
- if(businessJson.containsKey("isQuery")){
|
|
|
|
|
|
+ for (JSONObject json : result) {
|
|
|
|
+ if (businessJson.containsKey("isQuery")) {
|
|
//填报资料,获取参与的填报人
|
|
//填报资料,获取参与的填报人
|
|
String fileUserIdAndName = json.getString("fileUserIdAndName");
|
|
String fileUserIdAndName = json.getString("fileUserIdAndName");
|
|
- if(StringUtils.isNotEmpty(fileUserIdAndName)){
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(fileUserIdAndName)) {
|
|
String[] fileUserIdAndNames = fileUserIdAndName.split(",");
|
|
String[] fileUserIdAndNames = fileUserIdAndName.split(",");
|
|
- for(String str : fileUserIdAndNames){
|
|
|
|
|
|
+ for (String str : fileUserIdAndNames) {
|
|
String[] strs = str.split("-");
|
|
String[] strs = str.split("-");
|
|
//可能上报人就是填报人,防止重复推送
|
|
//可能上报人就是填报人,防止重复推送
|
|
- if(!userIds.contains(Long.parseLong(strs[0]))){
|
|
|
|
|
|
+ if (!userIds.contains(Long.parseLong(strs[0]))) {
|
|
//通知上报人
|
|
//通知上报人
|
|
messageWarningList.add(new MessageWarningVO(
|
|
messageWarningList.add(new MessageWarningVO(
|
|
Long.parseLong(masterTask.getProjectId()),
|
|
Long.parseLong(masterTask.getProjectId()),
|
|
@@ -586,10 +622,10 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- } else if(businessJson.containsKey("isLog") || businessJson.containsKey("isArchive")){
|
|
|
|
|
|
+ } else if (businessJson.containsKey("isLog") || businessJson.containsKey("isArchive")) {
|
|
//获取填写人
|
|
//获取填写人
|
|
String fillUser = json.getString("createUser");
|
|
String fillUser = json.getString("createUser");
|
|
- if(StringUtils.isNotEmpty(fillUser) && !userIds.contains(Long.parseLong(fillUser))){
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(fillUser) && !userIds.contains(Long.parseLong(fillUser))) {
|
|
//通知上报人
|
|
//通知上报人
|
|
messageWarningList.add(new MessageWarningVO(
|
|
messageWarningList.add(new MessageWarningVO(
|
|
Long.parseLong(masterTask.getProjectId()),
|
|
Long.parseLong(masterTask.getProjectId()),
|
|
@@ -607,7 +643,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
|
|
|
//生成废除通知
|
|
//生成废除通知
|
|
this.messageWarningService.savePushUserMessageWarning(messageWarningList);
|
|
this.messageWarningService.savePushUserMessageWarning(messageWarningList);
|
|
- }catch (Exception e){
|
|
|
|
|
|
+ } catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -616,7 +652,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
public Boolean startApproval(TaskVO vo) {
|
|
public Boolean startApproval(TaskVO vo) {
|
|
//获取业务表
|
|
//获取业务表
|
|
String businessTable = FlowUtil.getBusinessTable(ProcessConstant.EXAMINATION_AND_APPROVAL);
|
|
String businessTable = FlowUtil.getBusinessTable(ProcessConstant.EXAMINATION_AND_APPROVAL);
|
|
- if(Func.isEmpty(vo.getId())){
|
|
|
|
|
|
+ if (Func.isEmpty(vo.getId())) {
|
|
vo.setId(SnowFlakeUtil.getId());
|
|
vo.setId(SnowFlakeUtil.getId());
|
|
//设置开始/结束时间
|
|
//设置开始/结束时间
|
|
Date nowTime = new Date();
|
|
Date nowTime = new Date();
|
|
@@ -628,24 +664,24 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
query.setSize(999);
|
|
query.setSize(999);
|
|
//获取流程
|
|
//获取流程
|
|
List<FlowProcessVO> modeProcessVOS = this.newFlowClient.startFlowList("", query, 1);
|
|
List<FlowProcessVO> modeProcessVOS = this.newFlowClient.startFlowList("", query, 1);
|
|
- if(modeProcessVOS == null || modeProcessVOS.size() == 0){
|
|
|
|
|
|
+ if (modeProcessVOS == null || modeProcessVOS.size() == 0) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
//获取当中的审批流程
|
|
//获取当中的审批流程
|
|
String taskFlowId = null;
|
|
String taskFlowId = null;
|
|
- for(FlowProcessVO processVO : modeProcessVOS){
|
|
|
|
- if("approval".equals(processVO.getKey())){
|
|
|
|
|
|
+ for (FlowProcessVO processVO : modeProcessVOS) {
|
|
|
|
+ if ("approval".equals(processVO.getKey())) {
|
|
taskFlowId = processVO.getId();
|
|
taskFlowId = processVO.getId();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//如果没有对应流程,直接返回
|
|
//如果没有对应流程,直接返回
|
|
- if(StringUtils.isEmpty(taskFlowId)){
|
|
|
|
|
|
+ if (StringUtils.isEmpty(taskFlowId)) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
//获取选择的固定流程
|
|
//获取选择的固定流程
|
|
List<FixedFlowLink> links;
|
|
List<FixedFlowLink> links;
|
|
- if(Long.valueOf("0").equals(vo.getFixedFlowId())){
|
|
|
|
|
|
+ if (Long.valueOf("0").equals(vo.getFixedFlowId())) {
|
|
//自定义流程
|
|
//自定义流程
|
|
links = new ArrayList<>();
|
|
links = new ArrayList<>();
|
|
//获取自定义流程
|
|
//获取自定义流程
|
|
@@ -656,7 +692,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
} else {
|
|
} else {
|
|
//预设流程
|
|
//预设流程
|
|
links = this.fixedFlowLinkService.selectFixedFlowLink(vo.getFixedFlowId().toString());
|
|
links = this.fixedFlowLinkService.selectFixedFlowLink(vo.getFixedFlowId().toString());
|
|
- if(links == null || links.size() == 0){
|
|
|
|
|
|
+ if (links == null || links.size() == 0) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -674,7 +710,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
|
|
|
//根据所选择的固定流程所含有的环节发起审批任务
|
|
//根据所选择的固定流程所含有的环节发起审批任务
|
|
List<TaskParallel> taskParallelArray = new ArrayList<>();
|
|
List<TaskParallel> taskParallelArray = new ArrayList<>();
|
|
- for(FixedFlowLink link : links){
|
|
|
|
|
|
+ for (FixedFlowLink link : links) {
|
|
//启动并行流程
|
|
//启动并行流程
|
|
Kv variables = Kv.create()
|
|
Kv variables = Kv.create()
|
|
//下一步流程审批人
|
|
//下一步流程审批人
|
|
@@ -712,12 +748,12 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
/**
|
|
/**
|
|
* 获取业务数据
|
|
* 获取业务数据
|
|
*/
|
|
*/
|
|
- private JSONObject queryTaskBusinessObject(String formDataId){
|
|
|
|
|
|
+ private JSONObject queryTaskBusinessObject(String formDataId) {
|
|
JSONObject json = new JSONObject();
|
|
JSONObject json = new JSONObject();
|
|
List<JSONObject> jsonResult;
|
|
List<JSONObject> jsonResult;
|
|
//先检查是否是资料填报
|
|
//先检查是否是资料填报
|
|
List<InformationQuery> querys = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getId, Func.toStrList(formDataId)));
|
|
List<InformationQuery> querys = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getId, Func.toStrList(formDataId)));
|
|
- if(querys != null && querys.size() > 0){
|
|
|
|
|
|
+ if (querys != null && querys.size() > 0) {
|
|
jsonResult = JSONArray.parseArray(JSONObject.toJSONString(querys), JSONObject.class);
|
|
jsonResult = JSONArray.parseArray(JSONObject.toJSONString(querys), JSONObject.class);
|
|
//设置标记
|
|
//设置标记
|
|
json.put("isQuery", "true");
|
|
json.put("isQuery", "true");
|
|
@@ -725,7 +761,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
} else {
|
|
} else {
|
|
//再检查是否是日志
|
|
//再检查是否是日志
|
|
List<ContractLog> logs = this.contractLogService.list(Wrappers.<ContractLog>lambdaQuery().in(ContractLog::getId, Func.toStrList(formDataId)));
|
|
List<ContractLog> logs = this.contractLogService.list(Wrappers.<ContractLog>lambdaQuery().in(ContractLog::getId, Func.toStrList(formDataId)));
|
|
- if(logs != null && logs.size() > 0){
|
|
|
|
|
|
+ if (logs != null && logs.size() > 0) {
|
|
jsonResult = JSONArray.parseArray(JSONObject.toJSONString(logs), JSONObject.class);
|
|
jsonResult = JSONArray.parseArray(JSONObject.toJSONString(logs), JSONObject.class);
|
|
//设置标记
|
|
//设置标记
|
|
json.put("isLog", "true");
|
|
json.put("isLog", "true");
|
|
@@ -733,7 +769,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
} else {
|
|
} else {
|
|
//工程文件
|
|
//工程文件
|
|
List<ArchiveFile> archiveList = this.archiveFileService.list(Wrappers.<ArchiveFile>lambdaQuery().eq(ArchiveFile::getId, Func.toStrList(formDataId)));
|
|
List<ArchiveFile> archiveList = this.archiveFileService.list(Wrappers.<ArchiveFile>lambdaQuery().eq(ArchiveFile::getId, Func.toStrList(formDataId)));
|
|
- if(archiveList != null && archiveList.size() > 0){
|
|
|
|
|
|
+ if (archiveList != null && archiveList.size() > 0) {
|
|
jsonResult = JSONArray.parseArray(JSONObject.toJSONString(archiveList), JSONObject.class);
|
|
jsonResult = JSONArray.parseArray(JSONObject.toJSONString(archiveList), JSONObject.class);
|
|
//设置标记
|
|
//设置标记
|
|
json.put("isArchive", "true");
|
|
json.put("isArchive", "true");
|
|
@@ -747,8 +783,8 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
/**
|
|
/**
|
|
* 修改业务数据状态
|
|
* 修改业务数据状态
|
|
*/
|
|
*/
|
|
- private void updateBusinessDataByFormDataId(Task task, Integer status, String newFileUrl){
|
|
|
|
- switch (task.getApprovalType()){
|
|
|
|
|
|
+ private void updateBusinessDataByFormDataId(Task task, Integer status, String newFileUrl) {
|
|
|
|
+ switch (task.getApprovalType()) {
|
|
case 1:
|
|
case 1:
|
|
//资料填报
|
|
//资料填报
|
|
this.updateWriteBusinessDataStatus(task.getFormDataId(), status, newFileUrl);
|
|
this.updateWriteBusinessDataStatus(task.getFormDataId(), status, newFileUrl);
|
|
@@ -770,7 +806,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
* 施工日志等
|
|
* 施工日志等
|
|
*/
|
|
*/
|
|
@Transactional
|
|
@Transactional
|
|
- public void updateContractLogBusinessDataStatus(String formDataId, Integer status, String newFileUrl){
|
|
|
|
|
|
+ public void updateContractLogBusinessDataStatus(String formDataId, Integer status, String newFileUrl) {
|
|
this.contractLogService.update(Wrappers.<ContractLog>lambdaUpdate().set(ContractLog::getStatus, status)
|
|
this.contractLogService.update(Wrappers.<ContractLog>lambdaUpdate().set(ContractLog::getStatus, status)
|
|
.set(ContractLog::getEVisaPdfUrl, newFileUrl)
|
|
.set(ContractLog::getEVisaPdfUrl, newFileUrl)
|
|
.set(ContractLog::getAuditUserIdAndName, null)
|
|
.set(ContractLog::getAuditUserIdAndName, null)
|
|
@@ -784,7 +820,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
* 资料填报
|
|
* 资料填报
|
|
*/
|
|
*/
|
|
@Transactional
|
|
@Transactional
|
|
- public void updateWriteBusinessDataStatus(String formDataId, Integer status, String newFileUrl){
|
|
|
|
|
|
+ public void updateWriteBusinessDataStatus(String formDataId, Integer status, String newFileUrl) {
|
|
this.informationQueryService.update(Wrappers.<InformationQuery>lambdaUpdate().set(InformationQuery::getStatus, status)
|
|
this.informationQueryService.update(Wrappers.<InformationQuery>lambdaUpdate().set(InformationQuery::getStatus, status)
|
|
.set(InformationQuery::getEVisaPdfUrl, newFileUrl)
|
|
.set(InformationQuery::getEVisaPdfUrl, newFileUrl)
|
|
.set(InformationQuery::getReportNumber, null)
|
|
.set(InformationQuery::getReportNumber, null)
|
|
@@ -798,7 +834,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
* 工程文件
|
|
* 工程文件
|
|
*/
|
|
*/
|
|
@Transactional
|
|
@Transactional
|
|
- public void updateArchiveFileBusinessDataStatus(String formDataId, Integer status, String newFileUrl){
|
|
|
|
|
|
+ public void updateArchiveFileBusinessDataStatus(String formDataId, Integer status, String newFileUrl) {
|
|
LambdaUpdateWrapper<ArchiveFile> wrapper = Wrappers.lambdaUpdate();
|
|
LambdaUpdateWrapper<ArchiveFile> wrapper = Wrappers.lambdaUpdate();
|
|
//更改状态,更改电签文件信息
|
|
//更改状态,更改电签文件信息
|
|
wrapper.set(ArchiveFile::getStatus, status)
|
|
wrapper.set(ArchiveFile::getStatus, status)
|