From ad6a05f2535c1f29a764f352d8ca666cae1b97d1 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期六, 22 二月 2025 17:06:28 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/project_management-java
---
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 46 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 39 insertions(+), 7 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 72b764c..6ce896f 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,7 +140,7 @@
}
}
ProjectInfo project = new LambdaQueryChainWrapper<>(projectInfoMapper)
- .select(ProjectInfo::getCreateBy)
+ .select(ProjectInfo::getProjectOwnerUnit)
.eq(ProjectInfo::getId, form.getProjectId())
.one();
if (Objects.isNull(project)) {
@@ -406,6 +407,20 @@
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 = ((new Date()).getTime() - processCoding.getStartTaskTime().getTime()) / 1000;
+
+ taskVO.setRemainingTime((overtime - durationTime) / 3600 + "灏忔椂");
+ } else {
+ taskVO.setRemainingTime("-");
+ }
+ }
this.distinctVo(taskVO);
vos.add(taskVO);
}
@@ -413,6 +428,23 @@
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 +638,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 +649,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 +693,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 +723,7 @@
task.getName(),
ProcessLogEventTypeEnum.HANGUP,
new HangupData(form.getReason())
- ));
+ ));
return Result.ok("鎿嶄綔鎴愬姛");
}
@@ -747,11 +779,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);
}
--
Gitblit v1.8.0