!67 czh-20260702-新增updateTitleAndDeadline接口同步更新中间表与流程变量
Merge pull request !67 from 陈志浩/fix/process-20260702
This commit is contained in:
+42
@@ -240,6 +240,48 @@ public class TaskTaskController extends JeecgController<TaskTask, ITaskTaskServi
|
||||
return Result.error("删除流程失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除未发起的待处理任务(无 processInstId 的周期性任务记录)
|
||||
*/
|
||||
@AutoLog(value = "删除未发起的待处理任务")
|
||||
@Operation(summary = "删除未发起的待处理任务")
|
||||
@RequiresPermissions("tasktask:task_task:delete")
|
||||
@PostMapping(value = "/deletePendingTask")
|
||||
public Result<String> deletePendingTask(@RequestParam("taskId") String taskId) {
|
||||
if (oConvertUtils.isEmpty(taskId)) {
|
||||
return Result.error("任务ID不能为空");
|
||||
}
|
||||
if (taskTaskService.deletePendingTask(taskId)) {
|
||||
return Result.OK("删除待处理任务成功");
|
||||
}
|
||||
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
|
||||
*
|
||||
|
||||
+2
@@ -19,4 +19,6 @@ public interface ITaskTaskService extends IService<TaskTask> {
|
||||
IPage<TaskTask> getTaskTaskPageByBusinessId(Page<TaskTask> page, String businessId) throws Exception;
|
||||
boolean updateDeptHandlerName(String processInstanceId, String deptHandlerName);
|
||||
boolean deleteSingleProcess(String processInstId);
|
||||
boolean deletePendingTask(String taskId);
|
||||
boolean updateTitleAndDeadline(String taskId, String title, String requireFinishDate);
|
||||
}
|
||||
|
||||
+47
@@ -215,4 +215,51 @@ public class TaskTaskServiceImpl extends ServiceImpl<TaskTaskMapper, TaskTask> i
|
||||
.eq(TaskTask::getProcessInstId, processInstId);
|
||||
return this.remove(deleteWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deletePendingTask(String taskId) {
|
||||
TaskTask taskTask = this.getById(taskId);
|
||||
if (taskTask == null) {
|
||||
log.warn("【督办-删除待发起任务】未找到tasktask记录, taskId: {}", taskId);
|
||||
return false;
|
||||
}
|
||||
if (org.apache.commons.lang.StringUtils.isNotBlank(taskTask.getProcessInstId())) {
|
||||
log.warn("【督办-删除待发起任务】任务已有流程实例,拒绝通过本接口删除, taskId: {}, processInstId: {}", taskId, taskTask.getProcessInstId());
|
||||
return false;
|
||||
}
|
||||
this.removeById(taskId);
|
||||
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