czh-20260702-新增updateTitleAndDeadline接口同步更新中间表与流程变量

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
zhihao
2026-07-02 13:36:27 +08:00
co-authored by Claude Opus 4.7
parent d1373089bf
commit 7078949de6
3 changed files with 56 additions and 0 deletions
@@ -257,6 +257,31 @@ public class TaskTaskController extends JeecgController<TaskTask, ITaskTaskServi
return Result.error("删除待处理任务失败"); return Result.error("删除待处理任务失败");
} }
/**
* 修改流程标题和截止时间(同时更新 task_task 表和 Flowable 流程变量)
*/
@AutoLog(value = "修改流程标题和截止时间")
@Operation(summary = "修改流程标题和截止时间")
@RequiresPermissions("tasktask:task_task:edit")
@PostMapping(value = "/updateTitleAndDeadline")
public Result<String> updateTitleAndDeadline(@RequestParam("taskId") String taskId,
@RequestParam("title") String title,
@RequestParam("requireFinishDate") String requireFinishDate) {
if (oConvertUtils.isEmpty(taskId)) {
return Result.error("任务ID不能为空");
}
if (oConvertUtils.isEmpty(title)) {
return Result.error("标题不能为空");
}
if (oConvertUtils.isEmpty(requireFinishDate)) {
return Result.error("要求完成日期不能为空");
}
if (taskTaskService.updateTitleAndDeadline(taskId, title, requireFinishDate)) {
return Result.OK("修改成功");
}
return Result.error("修改失败");
}
/** /**
* 导出excel * 导出excel
* *
@@ -20,4 +20,5 @@ public interface ITaskTaskService extends IService<TaskTask> {
boolean updateDeptHandlerName(String processInstanceId, String deptHandlerName); boolean updateDeptHandlerName(String processInstanceId, String deptHandlerName);
boolean deleteSingleProcess(String processInstId); boolean deleteSingleProcess(String processInstId);
boolean deletePendingTask(String taskId); boolean deletePendingTask(String taskId);
boolean updateTitleAndDeadline(String taskId, String title, String requireFinishDate);
} }
@@ -232,4 +232,34 @@ public class TaskTaskServiceImpl extends ServiceImpl<TaskTaskMapper, TaskTask> i
log.info("【督办-删除待发起任务】已逻辑删除待发起的任务记录, taskId: {}", taskId); log.info("【督办-删除待发起任务】已逻辑删除待发起的任务记录, taskId: {}", taskId);
return true; return true;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateTitleAndDeadline(String taskId, String title, String requireFinishDate) {
TaskTask taskTask = this.getById(taskId);
if (taskTask == null) {
log.warn("【督办-修改标题和截止时间】未找到tasktask记录, taskId: {}", taskId);
return false;
}
taskTask.setTitle(title);
taskTask.setRequireFinishDate(java.sql.Date.valueOf(requireFinishDate));
this.updateById(taskTask);
log.info("【督办-修改标题和截止时间】已更新tasktask表, taskId: {}, title: {}, requireFinishDate: {}", taskId, title, requireFinishDate);
if (StringUtils.isNotBlank(taskTask.getProcessInstId())) {
try {
runtimeService.setVariable(taskTask.getProcessInstId(), "title", title);
runtimeService.setVariable(taskTask.getProcessInstId(), "deadline", requireFinishDate);
String bizTitle = (String) runtimeService.getVariable(taskTask.getProcessInstId(), "bpm_biz_title");
if (StringUtils.isNotBlank(bizTitle)) {
String suffix = bizTitle.replaceAll("^.*?(【)", "");
runtimeService.setVariable(taskTask.getProcessInstId(), "bpm_biz_title", title + suffix);
}
log.info("【督办-修改标题和截止时间】已更新流程变量, processInstId: {}", taskTask.getProcessInstId());
} catch (Exception e) {
log.error("【督办-修改标题和截止时间】更新流程变量失败, processInstId: {}", taskTask.getProcessInstId(), e);
}
}
return true;
}
} }