From 8d2f2f78c0c02205b91946f4f5cfdc03bcb3383a Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 10 四月 2025 16:25:21 +0800
Subject: [PATCH] 项目法人单位保存bug
---
business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java | 76 ++++++++++++++++++++++++++++++-------
1 files changed, 61 insertions(+), 15 deletions(-)
diff --git a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
index 7997fbd..5b075c8 100644
--- a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
@@ -11,10 +11,7 @@
import com.ycl.common.enums.business.HandlerTypeEnum;
import com.ycl.common.enums.business.ProcessLogEventTypeEnum;
import com.ycl.domain.entity.ProcessLog;
-import com.ycl.domain.json.DelegateData;
-import com.ycl.domain.json.JumpData;
-import com.ycl.domain.json.RejectData;
-import com.ycl.domain.json.SuperviseData;
+import com.ycl.domain.json.*;
import com.ycl.domain.query.ProcessLogQuery;
import com.ycl.domain.vo.ProcessLogVO;
import com.ycl.framework.utils.PageUtil;
@@ -58,7 +55,7 @@
* @param eventDataJson json鎵╁睍鍐呭
*/
@Override
- public void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, Long projectId, String eventDataJson) {
+ public void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, String projectId, String eventDataJson) {
ProcessLog log = new ProcessLog();
log.setTaskId(taskId);
log.setProcessInsId(flowInsId);
@@ -148,8 +145,43 @@
}
@Override
- public Result projectProcessLogPage(ProcessLogQuery query) {
- List<ProcessLogVO> list = baseMapper.projectProcessLogPage(query);
+ public Boolean taskIsWait(String taskId, String processInsId) {
+ List<ProcessLog> list = new LambdaQueryChainWrapper<>(baseMapper)
+ .eq(ProcessLog::getProcessInsId, processInsId)
+ .eq(ProcessLog::getTaskId, taskId)
+ .list();
+ return list.stream().anyMatch(log -> ProcessLogEventTypeEnum.WAIT.equals(log.getEventType()))
+ && list.stream().filter(log -> ProcessLogEventTypeEnum.FINISHED.equals(log.getEventType())).count() < 1;
+ }
+
+ @Override
+ public Boolean taskIsJump(String taskId, String processInsId) {
+ List<ProcessLog> list = new LambdaQueryChainWrapper<>(baseMapper)
+ .eq(ProcessLog::getProcessInsId, processInsId)
+ .eq(ProcessLog::getTaskId, taskId)
+ .eq(ProcessLog::getEventType, ProcessLogEventTypeEnum.JUMP)
+ .list();
+ return list.size() > 0;
+ }
+
+ @Override
+ public Boolean taskIsTeamwork(String taskId, String processInsId) {
+ ProcessLog log = new LambdaQueryChainWrapper<>(baseMapper)
+ .eq(ProcessLog::getProcessInsId, processInsId)
+ .eq(ProcessLog::getTaskId, taskId)
+ .eq(ProcessLog::getEventType, ProcessLogEventTypeEnum.TEAM_WORK)
+ .one();
+ if (Objects.isNull(log)) {
+ return Boolean.FALSE;
+ } else {
+ // 鍒ゆ柇鍗忓悓浜烘槸鍚﹀叏閮ㄥ畬鎴愪簡鍗忓悓銆俆ODO
+ }
+ return null;
+ }
+
+ @Override
+ public Result projectProcessLogList(ProcessLogQuery query) {
+ List<ProcessLogVO> list = baseMapper.projectProcessLogList(query);
// json鍙嶅簭鍒楀寲
list.stream().forEach(log -> {
if (StringUtils.isNotBlank(log.getEventDataJson())) {
@@ -163,19 +195,33 @@
log.setEventDataObj(delegateData);
} else if (ProcessLogEventTypeEnum.JUMP.equals(log.getEventType())) {
log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), JumpData.class));
+ } else if (ProcessLogEventTypeEnum.WAIT.equals(log.getEventType())) {
+ log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), WaitData.class));
} else if (ProcessLogEventTypeEnum.REJECT.equals(log.getEventType())) {
log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), RejectData.class));
} else if (ProcessLogEventTypeEnum.SUPERVISE.equals(log.getEventType())) {
- SuperviseData superviseData = JSON.parseObject(log.getEventDataJson(), SuperviseData.class);
- SysUser user = userService.selectUserById(Long.parseLong(superviseData.getSenderId()));
- if (Objects.nonNull(user)) {
- superviseData.setSenderName(user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")");
+ List<SuperviseData> superviseDataList = JSON.parseArray(log.getEventDataJson(), SuperviseData.class);
+ if (CollectionUtils.isNotEmpty(superviseDataList)) {
+ SysUser user = userService.selectUserById(Long.parseLong(superviseDataList.get(0).getSenderId()));
+ if (Objects.nonNull(user)) {
+ superviseDataList.get(0).setSenderName(user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")");
+ }
+ log.setEventDataObj(superviseDataList.get(0));
}
- log.setEventDataObj(superviseData);
+
+ } else if (ProcessLogEventTypeEnum.HANGUP.equals(log.getEventType())) {
+ log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), HangupData.class));
}
}
});
return Result.ok().data(list);
+ }
+
+ @Override
+ public Result projectProcessLogPage(ProcessLogQuery query) {
+ IPage<ProcessLogVO> page = PageUtil.getPage(query, ProcessLogVO.class);
+ baseMapper.projectProcessLogPage(page, query);
+ return Result.ok().data(page.getRecords()).total(page.getTotal());
}
/**
@@ -193,13 +239,13 @@
}
} else if (HandlerTypeEnum.USER.equals(handlerType)) {
List<SysUser> users = userService.selectUserByIds(ids);
- names = users.stream().map(user -> user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")").collect(Collectors.toList());
+ names.addAll(users.stream().map(user -> user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")").collect(Collectors.toList()));
} else if (HandlerTypeEnum.DEPT.equals(handlerType)) {
List<SysDept> depts = deptService.selectDeptByIds(ids);
- names = depts.stream().map(SysDept::getDeptName).collect(Collectors.toList());
+ names.addAll(depts.stream().map(SysDept::getDeptName).collect(Collectors.toList()));
} else if (HandlerTypeEnum.ROLE.equals(handlerType)) {
List<SysRole> roles = roleService.selectRoleByIds(ids);
- names = roles.stream().map(SysRole::getRoleName).collect(Collectors.toList());
+ names.addAll(roles.stream().map(SysRole::getRoleName).collect(Collectors.toList()));
}
}
}
--
Gitblit v1.8.0