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();
|
||||
task.setInstId(inst.getInstId());
|
||||
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");
|
||||
taskMapper.insert(task);
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -109,7 +110,7 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
||||
HrmFlowTask nextTask = new HrmFlowTask();
|
||||
nextTask.setInstId(inst.getInstId());
|
||||
nextTask.setNodeId(next.getNodeId());
|
||||
nextTask.setAssigneeUserId(Objects.requireNonNullElse(actionUserId, 0L));
|
||||
nextTask.setAssigneeUserId(actionUserId != null ? actionUserId : 0L);
|
||||
nextTask.setStatus("pending");
|
||||
baseMapper.insert(nextTask);
|
||||
} else {
|
||||
@@ -170,7 +171,7 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
||||
HrmFlowTask reTask = new HrmFlowTask();
|
||||
reTask.setInstId(inst.getInstId());
|
||||
reTask.setNodeId(task.getNodeId());
|
||||
reTask.setAssigneeUserId(Objects.requireNonNullElse(actionUserId, task.getAssigneeUserId()));
|
||||
reTask.setAssigneeUserId(actionUserId != null ? actionUserId : task.getAssigneeUserId());
|
||||
reTask.setStatus("pending");
|
||||
baseMapper.insert(reTask);
|
||||
if ("seal".equalsIgnoreCase(inst.getBizType())) {
|
||||
@@ -186,7 +187,7 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
||||
log.setAction(action);
|
||||
log.setRemark(remark);
|
||||
log.setActionUserId(userId);
|
||||
log.setCreateTime(LocalDateTime.now());
|
||||
log.setCreateTime(new Date());
|
||||
actionMapper.insert(log);
|
||||
}
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ public class HrmSealReqServiceImpl implements IHrmSealReqService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
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盖章未启用");
|
||||
}
|
||||
String resultUrl = doPdfStamp(cmd);
|
||||
|
||||
Reference in New Issue
Block a user