From d64ebcc0b18bda5290725a956256f86c8036fbfb Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 24 二月 2025 22:39:17 +0800
Subject: [PATCH] 下面阶段查询修改
---
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 84 +++++++++++++++++++++++++++++++----------
1 files changed, 63 insertions(+), 21 deletions(-)
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index 57d89f5..c68e060 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -89,6 +89,7 @@
private final ISysDeptService deptService;
private final ProcessLogService processLogService;
private final ISysDictTypeService dictTypeService;
+ private final ProcessConfigInfoService processConfigInfoService;
/**
* 鍒嗛〉鏌ヨ
@@ -139,22 +140,22 @@
}
}
ProjectInfo project = new LambdaQueryChainWrapper<>(projectInfoMapper)
- .select(ProjectInfo::getCreateBy)
+ .select(ProjectInfo::getProjectOwnerUnit)
.eq(ProjectInfo::getId, form.getProjectId())
.one();
if (Objects.isNull(project)) {
throw new RuntimeException("椤圭洰涓嶅瓨鍦�");
}
- SysUser user = sysUserService.selectUserById(project.getCreateBy());
- if (Objects.isNull(user)) {
+ SysDept dept = deptService.selectDeptById(project.getProjectOwnerUnit());
+ if (Objects.isNull(dept)) {
throw new RuntimeException("椤圭洰涓氫富鍗曚綅涓嶅瓨鍦�");
}
- String processInsId = this.startPro(form.getProjectId(), form.getProcessDefId(), user.getDeptId());
+ String processInsId = this.startPro(form.getProjectId(), form.getProcessDefId(), dept.getDeptId());
new LambdaUpdateChainWrapper<>(baseMapper)
.eq(ProjectProcess::getProjectId, form.getProjectId())
.set(ProjectProcess::getProcessDefId, form.getProcessDefId())
.set(ProjectProcess::getProcessInsId, processInsId)
- .set(ProjectProcess::getDataLaunch, project.getCreateBy())
+ .set(ProjectProcess::getDataLaunch, project.getProjectOwnerUnit())
.update();
return Result.ok("娴佺▼鍙樻洿鎴愬姛");
@@ -167,16 +168,16 @@
if (Objects.isNull(project)) {
throw new RuntimeException("椤圭洰涓嶅瓨鍦�");
}
- SysUser user = sysUserService.selectUserById(project.getCreateBy());
- if (Objects.isNull(user)) {
+ SysDept dept = deptService.selectDeptById(project.getProjectOwnerUnit());
+ if (Objects.isNull(dept)) {
throw new RuntimeException("椤圭洰涓氫富鍗曚綅涓嶅瓨鍦�");
}
- String processInsId = this.startPro(projectId, processDefId, user.getDeptId());
+ String processInsId = this.startPro(projectId, processDefId, dept.getDeptId());
ProjectProcess entity = new ProjectProcess();
entity.setProjectId(projectId);
entity.setProcessDefId(processDefId);
entity.setProcessInsId(processInsId);
- entity.setDataLaunch(project.getCreateBy());
+ entity.setDataLaunch(project.getProjectOwnerUnit());
baseMapper.insert(entity);
return Result.ok("娴佺▼鍚姩鎴愬姛");
@@ -305,9 +306,15 @@
.active()
.includeProcessVariables()
.orderByTaskCreateTime().desc();
-
+ List<String> insIds = baseMapper.getNormalInsIds();
+ if (CollectionUtils.isEmpty(insIds)) {
+ result.data(new ArrayList<>()).total(0L);
+ return;
+ } else {
+ taskQuery.processInstanceIdIn(insIds);
+ }
if (StringUtils.isNotBlank(taskName)) {
- taskQuery.processDefinitionNameLike(taskName);
+ taskQuery.taskNameLike(taskName);
}
if (!SecurityUtils.getLoginUser().getUser().isAdmin()) {
taskQuery
@@ -406,13 +413,48 @@
if (processLogService.taskIsHangup(task.getId(), task.getProcessInstanceId())) {
taskVO.setTaskStatus(TaskStatusEnum.HANGUP);
}
+
+ // 璁$畻鍔炵悊鏃堕棿
+ ProcessCoding processCoding = processCodingService.getByTaskId(task.getId());
+ if (processCoding != null) {
+ if (StringUtils.isNotBlank(processCoding.getOvertime())) {
+ Long overtime = getTime(processCoding.getOvertime());
+ long durationTime = 0l;
+ if (Objects.nonNull(processCoding.getStartTaskTime())) {
+ durationTime = ((new Date()).getTime() - processCoding.getStartTaskTime().getTime()) / 1000;
+ } else {
+ taskVO.setRemainingTime("鏈缃姙鐞嗘椂闂�");
+ }
+ if (overtime > durationTime) {
+ taskVO.setRemainingTime((overtime - durationTime) / 3600 + "灏忔椂");
+ } else {
+ taskVO.setRemainingTime("宸茶秴鏃�");
+ }
+ } else {
+ taskVO.setRemainingTime("-");
+ }
+ }
this.distinctVo(taskVO);
vos.add(taskVO);
}
- if (vos.size() < pageSize) {
- result.total(vos.size());
- }
result.put("taskList", vos);
+ }
+
+ private Long getTime(String timeStr) {
+ Long time = null;
+ if (StringUtils.isNotBlank(timeStr)) {
+ String[] timeArr = timeStr.split("-");
+ // 瑙f瀽澶╂暟鍜屽皬鏃舵暟
+ int days = Integer.parseInt(timeArr[0]);
+ int hours = 0;
+ if (timeArr.length > 1) {
+ hours = Integer.parseInt(timeArr[1]);
+ }
+ time = (days * 24L + hours) * 3600L;
+// //鍒�-绉�
+// time= (days * 60L) + hours;
+ }
+ return time;
}
@Override
@@ -606,7 +648,7 @@
jsonData.setAfterHandlerIds(afterHandlerIds);
jsonData.setAfterHandlerType(form.getPeopleType());
// 鍙戝竷杞姙浜嬩欢
- publisher.publishEvent(new TaskLogEvent(this, null,SecurityUtils.getUserId(), form.getProjectId(), form.getProcessInsId(), task.getId(), task.getName(),ProcessLogEventTypeEnum.DELEGATE, jsonData));
+ publisher.publishEvent(new TaskLogEvent(this, null, SecurityUtils.getUserId(), form.getProjectId(), form.getProcessInsId(), task.getId(), task.getName(), ProcessLogEventTypeEnum.DELEGATE, jsonData));
return Result.ok("杞姙鎴愬姛");
}
@@ -617,7 +659,7 @@
Task task = taskService.createTaskQuery().taskId(form.getTaskId()).processInstanceId(form.getProcessInsId()).singleResult();
if (Objects.nonNull(task)) {
// 娣诲姞璺宠繃鏃ュ織
- publisher.publishEvent(new TaskLogEvent(this, null,SecurityUtils.getUserId(), form.getProjectId(), form.getProcessInsId(), form.getTaskId(), task.getName(),ProcessLogEventTypeEnum.JUMP, new JumpData(form.getDesc())));
+ publisher.publishEvent(new TaskLogEvent(this, null, SecurityUtils.getUserId(), form.getProjectId(), form.getProcessInsId(), form.getTaskId(), task.getName(), ProcessLogEventTypeEnum.JUMP, new JumpData(form.getDesc())));
// 鏌ュ嚭璇ヤ换鍔$粦瀹氱殑琛ㄥ崟
Map<String, Object> data = new HashMap<>(1);
@@ -661,7 +703,7 @@
}
dataList.add(jsonData);
//娣诲姞鐫e姙鏃ュ織
- publisher.publishEvent(new TaskLogEvent(this, processLog.getId(), processLog.getUserId(), form.getProjectId(), form.getProcessInsId(), form.getTaskId(), task.getName(),ProcessLogEventTypeEnum.SUPERVISE, dataList));
+ publisher.publishEvent(new TaskLogEvent(this, processLog.getId(), processLog.getUserId(), form.getProjectId(), form.getProcessInsId(), form.getTaskId(), task.getName(), ProcessLogEventTypeEnum.SUPERVISE, dataList));
return Result.ok("鎿嶄綔鎴愬姛");
}
@@ -691,7 +733,7 @@
task.getName(),
ProcessLogEventTypeEnum.HANGUP,
new HangupData(form.getReason())
- ));
+ ));
return Result.ok("鎿嶄綔鎴愬姛");
}
@@ -747,11 +789,11 @@
newV.put(task.getTaskDefinitionKey() + "&" + key, form.getVariables().get(key));
//瀛楀吀閲屾湁灏辨斁鍏ユ祦绋嬪彉閲忎腑
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(dictList) && dictList.contains(key)) {
- processVariables.put(key,form.getVariables().get(key));
+ processVariables.put(key, form.getVariables().get(key));
}
}
}
- if( !processVariables.isEmpty() ) {
+ if (!processVariables.isEmpty()) {
taskService.setVariables(form.getTaskId(), processVariables);
}
@@ -788,7 +830,7 @@
.desc();
if (StringUtils.isNotBlank(taskName)) {
- taskQuery.processDefinitionNameLike(taskName);
+ taskQuery.taskNameLike(taskName);
}
result.total(taskQuery.count());
List<Task> taskList = taskQuery.listPage(pageSize * (pageNum - 1), pageSize);
--
Gitblit v1.8.0