Explorar o código

fix 修复 流程数据重复更新 状态被覆盖 无法完成流程问题

疯狂的狮子Li hai 1 ano
pai
achega
2e50e30778

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictDataServiceImpl.java

@@ -58,7 +58,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService {
         lqw.eq(bo.getDictSort() != null, SysDictData::getDictSort, bo.getDictSort());
         lqw.like(StringUtils.isNotBlank(bo.getDictLabel()), SysDictData::getDictLabel, bo.getDictLabel());
         lqw.eq(StringUtils.isNotBlank(bo.getDictType()), SysDictData::getDictType, bo.getDictType());
-        lqw.orderByAsc(SysDictData::getDictSort);
+        lqw.orderByAsc(SysDictData::getDictSort, SysDictData::getDictCode);
         return lqw;
     }
 

+ 5 - 2
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java

@@ -15,6 +15,7 @@ import org.dromara.warm.flow.core.entity.Task;
 import org.dromara.warm.flow.core.listener.GlobalListener;
 import org.dromara.warm.flow.core.listener.ListenerVariable;
 import org.dromara.warm.flow.core.service.InsService;
+import org.dromara.warm.flow.orm.entity.FlowInstance;
 import org.dromara.warm.flow.orm.entity.FlowTask;
 import org.dromara.workflow.common.ConditionalOnEnable;
 import org.dromara.workflow.common.constant.FlowConstant;
@@ -151,13 +152,15 @@ public class WorkflowGlobalListener implements GlobalListener {
                         flwCommonService.sendMessage(definition.getFlowName(), instance.getId(), messageType, notice);
                     }
                 }
+                FlowInstance ins = new FlowInstance();
                 Map<String, Object> variableMap = instance.getVariableMap();
                 variableMap.remove(FlowConstant.FLOW_COPY_LIST);
                 variableMap.remove(FlowConstant.MESSAGE_TYPE);
                 variableMap.remove(FlowConstant.MESSAGE_NOTICE);
                 variableMap.remove(FlowConstant.SUBMIT);
-                instance.setVariable(FlowEngine.jsonConvert.objToStr(variableMap));
-                insService.updateById(instance);
+                ins.setId(instance.getId());
+                ins.setVariable(FlowEngine.jsonConvert.objToStr(variableMap));
+                insService.updateById(ins);
             }
         }
     }