mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-11-16 22:23:43 +08:00
Compare commits
6 Commits
5.X
...
888c14615d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
888c14615d | ||
|
|
fa6c9696f0 | ||
|
|
37038449ab | ||
|
|
9bff358afd | ||
|
|
d2a45156a2 | ||
|
|
9df0a8de1c |
@@ -67,7 +67,8 @@ public class CompleteTaskDTO implements Serializable {
|
|||||||
|
|
||||||
public Map<String, Object> getVariables() {
|
public Map<String, Object> getVariables() {
|
||||||
if (variables == null) {
|
if (variables == null) {
|
||||||
return new HashMap<>(16);
|
variables = new HashMap<>(16);
|
||||||
|
return variables;
|
||||||
}
|
}
|
||||||
variables.entrySet().removeIf(entry -> Objects.isNull(entry.getValue()));
|
variables.entrySet().removeIf(entry -> Objects.isNull(entry.getValue()));
|
||||||
return variables;
|
return variables;
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package org.dromara.common.excel.annotation;
|
||||||
|
|
||||||
|
import org.dromara.common.excel.core.ExcelOptionsProvider;
|
||||||
|
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Excel动态下拉选项注解
|
||||||
|
*
|
||||||
|
* @author Angus
|
||||||
|
*/
|
||||||
|
@Target({ElementType.FIELD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Inherited
|
||||||
|
public @interface ExcelDynamicOptions {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提供者类全限定名
|
||||||
|
* <p>
|
||||||
|
* {@link org.dromara.common.excel.core.ExcelOptionsProvider} 接口实现类 class
|
||||||
|
*/
|
||||||
|
Class<? extends ExcelOptionsProvider> providerClass();
|
||||||
|
}
|
||||||
@@ -23,6 +23,7 @@ import org.dromara.common.core.utils.SpringUtils;
|
|||||||
import org.dromara.common.core.utils.StreamUtils;
|
import org.dromara.common.core.utils.StreamUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||||
|
import org.dromara.common.excel.annotation.ExcelDynamicOptions;
|
||||||
import org.dromara.common.excel.annotation.ExcelEnumFormat;
|
import org.dromara.common.excel.annotation.ExcelEnumFormat;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
@@ -117,6 +118,15 @@ public class ExcelDownHandler implements SheetWriteHandler {
|
|||||||
ExcelEnumFormat format = field.getDeclaredAnnotation(ExcelEnumFormat.class);
|
ExcelEnumFormat format = field.getDeclaredAnnotation(ExcelEnumFormat.class);
|
||||||
List<Object> values = EnumUtil.getFieldValues(format.enumClass(), format.textField());
|
List<Object> values = EnumUtil.getFieldValues(format.enumClass(), format.textField());
|
||||||
options = StreamUtils.toList(values, Convert::toStr);
|
options = StreamUtils.toList(values, Convert::toStr);
|
||||||
|
} else if (field.isAnnotationPresent(ExcelDynamicOptions.class)) {
|
||||||
|
// 处理动态下拉选项
|
||||||
|
ExcelDynamicOptions dynamicOptions = field.getDeclaredAnnotation(ExcelDynamicOptions.class);
|
||||||
|
// 获取提供者实例
|
||||||
|
ExcelOptionsProvider provider = SpringUtils.getBean(dynamicOptions.providerClass());
|
||||||
|
Set<String> providerOptions = provider.getOptions();
|
||||||
|
if (CollUtil.isNotEmpty(providerOptions)) {
|
||||||
|
options = new ArrayList<>(providerOptions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(options)) {
|
if (ObjectUtil.isNotEmpty(options)) {
|
||||||
// 仅当下拉可选项不为空时执行
|
// 仅当下拉可选项不为空时执行
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package org.dromara.common.excel.core;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Excel下拉选项数据提供接口
|
||||||
|
*
|
||||||
|
* @author Angus
|
||||||
|
*/
|
||||||
|
public interface ExcelOptionsProvider {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取下拉选项数据
|
||||||
|
*
|
||||||
|
* @return 下拉选项列表
|
||||||
|
*/
|
||||||
|
Set<String> getOptions();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程spel达式定义
|
* 流程spel表达式定义
|
||||||
*
|
*
|
||||||
* @author Michelle.Chung
|
* @author Michelle.Chung
|
||||||
* @date 2025-07-04
|
* @date 2025-07-04
|
||||||
|
|||||||
@@ -144,7 +144,8 @@ public class WorkflowGlobalListener implements GlobalListener {
|
|||||||
//申请人提交事件
|
//申请人提交事件
|
||||||
Boolean submit = MapUtil.getBool(variable, FlowConstant.SUBMIT);
|
Boolean submit = MapUtil.getBool(variable, FlowConstant.SUBMIT);
|
||||||
if (submit != null && submit) {
|
if (submit != null && submit) {
|
||||||
flowProcessEventHandler.processHandler(definition.getFlowCode(), instance, instance.getFlowStatus(), variable, true);
|
String status = determineFlowStatus(instance);
|
||||||
|
flowProcessEventHandler.processHandler(definition.getFlowCode(), instance, status, variable, true);
|
||||||
} else {
|
} else {
|
||||||
// 判断流程状态(发布:撤销,退回,作废,终止,已完成事件)
|
// 判断流程状态(发布:撤销,退回,作废,终止,已完成事件)
|
||||||
String status = determineFlowStatus(instance);
|
String status = determineFlowStatus(instance);
|
||||||
|
|||||||
@@ -199,7 +199,10 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
|||||||
testLeave.setApplyCode(businessCode);
|
testLeave.setApplyCode(businessCode);
|
||||||
}
|
}
|
||||||
testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus());
|
testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus());
|
||||||
|
log.info("申请人提交");
|
||||||
}
|
}
|
||||||
|
String status = BusinessStatusEnum.findByStatus(processEvent.getStatus());
|
||||||
|
log.info("当前流程状态为{}", status);
|
||||||
baseMapper.updateById(testLeave);
|
baseMapper.updateById(testLeave);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1261,7 +1261,7 @@ EXEC sp_addextendedproperty
|
|||||||
'COLUMN', N'component_name'
|
'COLUMN', N'component_name'
|
||||||
GO
|
GO
|
||||||
|
|
||||||
-- method_name 字段注释
|
EXEC sp_addextendedproperty
|
||||||
'MS_Description', N'方法名',
|
'MS_Description', N'方法名',
|
||||||
'SCHEMA', N'dbo',
|
'SCHEMA', N'dbo',
|
||||||
'TABLE', N'flow_spel',
|
'TABLE', N'flow_spel',
|
||||||
|
|||||||
Reference in New Issue
Block a user