From 7521f82f10905cf60ab2afecaf4c4eec04b29e02 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Tue, 21 Oct 2025 17:07:30 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E6=AD=A5=E9=AA=A4=E5=BC=82=E5=B8=B8=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=88=86=E9=85=8D=E5=88=B0=E5=A4=9A=E4=B8=AA=E5=A4=84?= =?UTF-8?q?=E7=90=86=E4=BA=BA=E5=90=8E=EF=BC=8C=E6=AD=A5=E9=AA=A4=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E8=BF=98=E6=98=AF=E5=A4=84=E7=90=86=E4=B8=AD=EF=BC=8C?= =?UTF-8?q?=E6=AD=A5=E9=AA=A4=E7=8A=B6=E6=80=81=E5=BA=94=E8=AF=A5=E6=98=AF?= =?UTF-8?q?=E5=BE=85=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1537028682907648]数据转换步骤异常时,分配到多个处理人后,步骤状态还是处理中,步骤状态应该是待处理 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1537028682907648 --- .../stephandler/core/IProcessStepHandler.java | 10 ++++++++++ .../stephandler/core/ProcessStepHandlerBase.java | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepHandler.java b/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepHandler.java index af737fce..3364895f 100644 --- a/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepHandler.java +++ b/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepHandler.java @@ -101,6 +101,16 @@ public interface IProcessStepHandler { @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED) int assign(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException; + /** + * 分配处理人且更新步骤状态 + * + * @param currentProcessTaskStepVo 步骤信息 + * @return 1代表成功 + * @throws ProcessTaskException 异常 + */ + @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED) + int assignAndUpdateStatus(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException; + /** * 挂起流程步骤 * diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java index c3217c4e..7cd4aca0 100644 --- a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java +++ b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java @@ -530,6 +530,18 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler { */ protected abstract int myAssign(ProcessTaskStepVo currentProcessTaskStepVo, Set workerSet) throws ProcessTaskException; + @Override + public final int assignAndUpdateStatus(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { + IProcessTaskCrossoverMapper processTaskCrossoverMapper = CrossoverServiceFactory.getApi(IProcessTaskCrossoverMapper.class); + ProcessTaskStepVo processTaskStepRealTimeStatus = processTaskCrossoverMapper.getProcessTaskStepBaseInfoById(currentProcessTaskStepVo.getId()); + assign(currentProcessTaskStepVo); + if (!Objects.equals(currentProcessTaskStepVo.getStatus(), processTaskStepRealTimeStatus.getStatus())) { + processTaskStepRealTimeStatus.setStatus(currentProcessTaskStepVo.getStatus()); + updateProcessTaskStepStatus(processTaskStepRealTimeStatus); + } + return 1; + } + protected int defaultAssign(ProcessTaskStepVo currentProcessTaskStepVo, Set workerSet) throws ProcessTaskException { IProcessStepHandlerCrossoverUtil processStepHandlerCrossoverUtil = CrossoverServiceFactory.getApi(IProcessStepHandlerCrossoverUtil.class); -- Gitee