!55 feat(dqinspecttask): 分页查询VO及Mapper XML补充completedStage字段

* feat(dqinspecttask): 分页查询VO及Mapper XML补充completedStage字段
* feat(dqinspecttask): 新增completedStage字段及流程结束阶段递增监听器
This commit is contained in:
wsm
2026-06-26 07:57:32 +00:00
parent accad4456e
commit c061d09935
5 changed files with 65 additions and 0 deletions
@@ -0,0 +1,52 @@
package org.jeecg.inspectimprove.listener;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.delegate.ExecutionListener;
import org.jeecg.inspectimprove.InspectImproveConfig;
import org.jeecg.modules.demo.dqinspecttask.entity.DqInspectTask;
import org.jeecg.modules.demo.dqinspecttask.service.IDqInspectTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 流程结束时将 DqInspectTask.completedStage 原子递增 1
*
* <p>配置方式:在 BPMN 流程定义的 end 事件上添加 ExecutionListener
* event="end"delegateExpression="${DqInspectTaskStageIncrementListener}"</p>
*/
@Slf4j
@Component("DqInspectTaskStageIncrementListener")
@RequiredArgsConstructor
public class DqInspectTaskStageIncrementListener implements ExecutionListener {
private static final long serialVersionUID = 1L;
private final InspectImproveConfig inspectImproveConfig;
private final IDqInspectTaskService dqInspectTaskService;
@Override
public void notify(DelegateExecution execution) {
Object businessKeyObj = execution.getVariable(inspectImproveConfig.getInspectImprove().getBusinessKey());
if (businessKeyObj == null || StringUtils.isBlank(businessKeyObj.toString())) {
log.warn("【巡视整改-阶段递增监听器】未获取到业务表单ID,跳过, processInstanceId: {}",
execution.getProcessInstanceId());
return;
}
String businessKey = businessKeyObj.toString();
boolean updated = dqInspectTaskService.lambdaUpdate()
.setSql("completed_stage = completed_stage + 1")
.eq(DqInspectTask::getId, businessKey)
.update();
if (updated) {
log.info("【巡视整改-阶段递增监听器】completedStage 已递增, businessKey: {}, processInstanceId: {}",
businessKey, execution.getProcessInstanceId());
} else {
log.warn("【巡视整改-阶段递增监听器】递增未影响任何行,可能记录已删除, businessKey: {}", businessKey);
}
}
}