fix: 指派流水线首节点强制同步主任务接单人
This commit is contained in:
parent
2b79526f5a
commit
4d19e5efe8
@ -4137,6 +4137,16 @@ public class TaskService {
|
||||
|
||||
Long receiverId = mainTask.getReceiverId();
|
||||
Long receiverDeptId = mainTask.getReceiverDeptId();
|
||||
String receiverName = null;
|
||||
if (receiverId != null) {
|
||||
User receiver = userService.getUserById(receiverId);
|
||||
if (receiver != null) {
|
||||
receiverName = receiver.getRealName() != null ? receiver.getRealName() : receiver.getUsername();
|
||||
if (receiverDeptId == null) {
|
||||
receiverDeptId = receiver.getDeptId();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<TaskItem> taskItems = taskItemMapper.selectList(
|
||||
new LambdaQueryWrapper<TaskItem>()
|
||||
@ -4192,17 +4202,15 @@ public class TaskService {
|
||||
if (itemDeptIndex == firstDeptIndex) {
|
||||
item.setStatus("in_progress");
|
||||
item.setIsLocked(0);
|
||||
// 指派模式下:如果子任务已有预先指定的接收人,保留;否则使用主任务的接收人
|
||||
if (item.getReceiverId() == null && receiverId != null) {
|
||||
// 指派模式下:以主任务的接收人为准,避免主任务与子任务接收人不一致
|
||||
if (receiverId != null) {
|
||||
item.setReceiverId(receiverId);
|
||||
item.setReceiverName(receiverName);
|
||||
if (receiverDeptId != null) {
|
||||
item.setReceiverDeptId(receiverDeptId);
|
||||
}
|
||||
log.info("顺序流水线第一部门子任务 {} 设置接收人: receiverId={}, deptId={}",
|
||||
log.info("顺序流水线第一部门子任务 {} 同步接收人: receiverId={}, deptId={}",
|
||||
item.getId(), receiverId, receiverDeptId);
|
||||
} else {
|
||||
log.info("顺序流水线第一部门子任务 {} 保留预先指定的接收人: receiverId={}",
|
||||
item.getId(), item.getReceiverId());
|
||||
}
|
||||
// 计算并设置deadline(使用工作时间计算)
|
||||
if (item.getEstimatedHours() != null && item.getEstimatedHours().compareTo(BigDecimal.ZERO) > 0) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user