|
@@ -28,6 +28,7 @@ import org.springblade.evisa.feign.EVisaClient;
|
|
import org.springblade.evisa.vo.TaskArchiveDTO;
|
|
import org.springblade.evisa.vo.TaskArchiveDTO;
|
|
import org.springblade.manager.entity.ContractInfo;
|
|
import org.springblade.manager.entity.ContractInfo;
|
|
import org.springblade.manager.entity.ContractRelationJlyz;
|
|
import org.springblade.manager.entity.ContractRelationJlyz;
|
|
|
|
+import org.springblade.manager.entity.ProjectInfo;
|
|
import org.springblade.manager.entity.SignPfxFile;
|
|
import org.springblade.manager.entity.SignPfxFile;
|
|
import org.springblade.manager.feign.SignPfxClient;
|
|
import org.springblade.manager.feign.SignPfxClient;
|
|
import org.springblade.system.user.entity.User;
|
|
import org.springblade.system.user.entity.User;
|
|
@@ -165,6 +166,7 @@ public class ArchiveFileTaskController extends BladeController {
|
|
if (ObjectUtil.isEmpty(dto.getCurrentContractId())) {
|
|
if (ObjectUtil.isEmpty(dto.getCurrentContractId())) {
|
|
throw new ServiceException("未获取到当前用户所在的合同段信息,请联系管理员");
|
|
throw new ServiceException("未获取到当前用户所在的合同段信息,请联系管理员");
|
|
}
|
|
}
|
|
|
|
+ ProjectInfo projectInfo = jdbcTemplate.query("select approval_type from m_project_info where id = " + dto.getProjectIdValue(), new BeanPropertyRowMapper<>(ProjectInfo.class)).stream().findAny().orElse(null);
|
|
int current = dto.getCurrent();
|
|
int current = dto.getCurrent();
|
|
int size = dto.getSize();
|
|
int size = dto.getSize();
|
|
//封装入参SQL
|
|
//封装入参SQL
|
|
@@ -309,6 +311,24 @@ public class ArchiveFileTaskController extends BladeController {
|
|
vo.setTaskReportUserName(nameMap.get(Long.parseLong(task.getReportUser())));
|
|
vo.setTaskReportUserName(nameMap.get(Long.parseLong(task.getReportUser())));
|
|
List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
if (taskParallelList != null && taskParallelList.size() > 0) {
|
|
if (taskParallelList != null && taskParallelList.size() > 0) {
|
|
|
|
+ //如果是垂直签,判断是否是当前用户审批轮次,不是当前用户审批轮次就不显示该任务
|
|
|
|
+ if (projectInfo != null && projectInfo.getApprovalType() == 1) {
|
|
|
|
+ boolean shouldDisplayTask = false; //标记是否显示当前任务
|
|
|
|
+ for (TaskParallel taskParallel : taskParallelList) {
|
|
|
|
+ if (SecureUtil.getUserId().equals(Long.parseLong(taskParallel.getTaskUser()))) {
|
|
|
|
+ shouldDisplayTask = true; //当前用户是审批人,需要显示任务
|
|
|
|
+ break;
|
|
|
|
+ } else if (taskParallel.getStatus() != 2) {
|
|
|
|
+ //之前的审批人员任务未完成,不显示任务
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (!shouldDisplayTask) {
|
|
|
|
+ //跳过当前任务
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
List<String> names = taskParallelList.stream().map(TaskParallel::getTaskUserName).collect(Collectors.toList());
|
|
List<String> names = taskParallelList.stream().map(TaskParallel::getTaskUserName).collect(Collectors.toList());
|
|
if (names.size() > 0) {
|
|
if (names.size() > 0) {
|
|
vo.setTaskApproveUserNames(StringUtils.join(names, ","));
|
|
vo.setTaskApproveUserNames(StringUtils.join(names, ","));
|
|
@@ -346,6 +366,7 @@ public class ArchiveFileTaskController extends BladeController {
|
|
}
|
|
}
|
|
return vo;
|
|
return vo;
|
|
})
|
|
})
|
|
|
|
+ .filter(Objects::nonNull) //过滤掉为null的任务
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
page.setRecords(pageList);
|
|
page.setRecords(pageList);
|
|
page.setTotal(totalCount);
|
|
page.setTotal(totalCount);
|