!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("删除流程失败");
|
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
|
* 导出excel
|
||||||
*
|
*
|
||||||
|
|||||||
+2
@@ -19,4 +19,6 @@ public interface ITaskTaskService extends IService<TaskTask> {
|
|||||||
IPage<TaskTask> getTaskTaskPageByBusinessId(Page<TaskTask> page, String businessId) throws Exception;
|
IPage<TaskTask> getTaskTaskPageByBusinessId(Page<TaskTask> page, String businessId) throws Exception;
|
||||||
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 updateTitleAndDeadline(String taskId, String title, String requireFinishDate);
|
||||||
}
|
}
|
||||||
|
|||||||
+47
@@ -215,4 +215,51 @@ public class TaskTaskServiceImpl extends ServiceImpl<TaskTaskMapper, TaskTask> i
|
|||||||
.eq(TaskTask::getProcessInstId, processInstId);
|
.eq(TaskTask::getProcessInstId, processInstId);
|
||||||
return this.remove(deleteWrapper);
|
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