czh-20260702-新增updateTitleAndDeadline接口同步更新中间表与流程变量
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
d1373089bf
commit
7078949de6
+25
@@ -257,6 +257,31 @@ public class TaskTaskController extends JeecgController<TaskTask, ITaskTaskServi
|
||||
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
|
||||
*
|
||||
|
||||
+1
@@ -20,4 +20,5 @@ public interface ITaskTaskService extends IService<TaskTask> {
|
||||
boolean updateDeptHandlerName(String processInstanceId, String deptHandlerName);
|
||||
boolean deleteSingleProcess(String processInstId);
|
||||
boolean deletePendingTask(String taskId);
|
||||
boolean updateTitleAndDeadline(String taskId, String title, String requireFinishDate);
|
||||
}
|
||||
|
||||
+30
@@ -232,4 +232,34 @@ public class TaskTaskServiceImpl extends ServiceImpl<TaskTaskMapper, TaskTask> i
|
||||
log.info("【督办-删除待发起任务】已逻辑删除待发起的任务记录, taskId: {}", taskId);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user