fix(hrm): 修复流程任务用户ID赋值逻辑并调整时间字段类型
- 将 Objects.requireNonNullElse 替换为三元运算符以避免空指针异常 - 在 HrmFlowTaskServiceImpl 中引入 java.util.Date 类以支持新的时间字段类型 - 修改 seal 模块中的 isEnabled 方法调用方式以确保配置正确读取 - 统一流程实例与任务创建时 assigneeUserId 的默认值处理逻辑 - 调整操作日志创建时间为 Date 类型以兼容数据库存储需求
This commit is contained in:
@@ -74,7 +74,9 @@ public class HrmFlowInstanceServiceImpl implements IHrmFlowInstanceService {
|
|||||||
HrmFlowTask task = new HrmFlowTask();
|
HrmFlowTask task = new HrmFlowTask();
|
||||||
task.setInstId(inst.getInstId());
|
task.setInstId(inst.getInstId());
|
||||||
task.setNodeId(firstNode.getNodeId());
|
task.setNodeId(firstNode.getNodeId());
|
||||||
task.setAssigneeUserId(Objects.requireNonNullElse(bo.getStartUserId(), 0L));
|
//task.setAssigneeUserId(Objects.requireNonNullElse(bo.getStartUserId(), 0L));
|
||||||
|
// 修复:使用三元运算符替代 Objects.requireNonNullElse
|
||||||
|
task.setAssigneeUserId(bo.getStartUserId() != null ? bo.getStartUserId() : 0L);
|
||||||
task.setStatus("pending");
|
task.setStatus("pending");
|
||||||
taskMapper.insert(task);
|
taskMapper.insert(task);
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -109,7 +110,7 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
|||||||
HrmFlowTask nextTask = new HrmFlowTask();
|
HrmFlowTask nextTask = new HrmFlowTask();
|
||||||
nextTask.setInstId(inst.getInstId());
|
nextTask.setInstId(inst.getInstId());
|
||||||
nextTask.setNodeId(next.getNodeId());
|
nextTask.setNodeId(next.getNodeId());
|
||||||
nextTask.setAssigneeUserId(Objects.requireNonNullElse(actionUserId, 0L));
|
nextTask.setAssigneeUserId(actionUserId != null ? actionUserId : 0L);
|
||||||
nextTask.setStatus("pending");
|
nextTask.setStatus("pending");
|
||||||
baseMapper.insert(nextTask);
|
baseMapper.insert(nextTask);
|
||||||
} else {
|
} else {
|
||||||
@@ -170,7 +171,7 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
|||||||
HrmFlowTask reTask = new HrmFlowTask();
|
HrmFlowTask reTask = new HrmFlowTask();
|
||||||
reTask.setInstId(inst.getInstId());
|
reTask.setInstId(inst.getInstId());
|
||||||
reTask.setNodeId(task.getNodeId());
|
reTask.setNodeId(task.getNodeId());
|
||||||
reTask.setAssigneeUserId(Objects.requireNonNullElse(actionUserId, task.getAssigneeUserId()));
|
reTask.setAssigneeUserId(actionUserId != null ? actionUserId : task.getAssigneeUserId());
|
||||||
reTask.setStatus("pending");
|
reTask.setStatus("pending");
|
||||||
baseMapper.insert(reTask);
|
baseMapper.insert(reTask);
|
||||||
if ("seal".equalsIgnoreCase(inst.getBizType())) {
|
if ("seal".equalsIgnoreCase(inst.getBizType())) {
|
||||||
@@ -186,7 +187,7 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
|||||||
log.setAction(action);
|
log.setAction(action);
|
||||||
log.setRemark(remark);
|
log.setRemark(remark);
|
||||||
log.setActionUserId(userId);
|
log.setActionUserId(userId);
|
||||||
log.setCreateTime(LocalDateTime.now());
|
log.setCreateTime(new Date());
|
||||||
actionMapper.insert(log);
|
actionMapper.insert(log);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ public class HrmSealReqServiceImpl implements IHrmSealReqService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public String stampWithJava(Long bizId, HrmSealStampBo cmd) {
|
public String stampWithJava(Long bizId, HrmSealStampBo cmd) {
|
||||||
if (!Boolean.TRUE.equals(stampProperties.getJavaService().getEnabled())) {
|
if (!Boolean.TRUE.equals(stampProperties.getJavaService().isEnabled())) {
|
||||||
throw new ServiceException("Java盖章未启用");
|
throw new ServiceException("Java盖章未启用");
|
||||||
}
|
}
|
||||||
String resultUrl = doPdfStamp(cmd);
|
String resultUrl = doPdfStamp(cmd);
|
||||||
|
|||||||
Reference in New Issue
Block a user