mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-11-21 16:36:47 +08:00
Compare commits
24 Commits
6036f8750b
...
v5.5.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b30ffa952f | ||
|
|
fd5d028e95 | ||
|
|
64100cf1ff | ||
|
|
7e7d857ba5 | ||
|
|
d22b2a10df | ||
|
|
957a4d1fcd | ||
|
|
49ef8378fe | ||
|
|
57dd6831d3 | ||
|
|
8aa60abb1f | ||
|
|
7a9f51fc7a | ||
|
|
159e30c982 | ||
|
|
7334d91d6b | ||
|
|
95c01301f6 | ||
|
|
296466fa13 | ||
|
|
3c8d864b5f | ||
|
|
ea50a57602 | ||
|
|
7e14b98676 | ||
|
|
015b406001 | ||
|
|
098d3347a0 | ||
|
|
08d4493994 | ||
|
|
367d739e2d | ||
|
|
d6688a367d | ||
|
|
0b331796e2 | ||
|
|
456620b638 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -38,7 +38,6 @@ nbdist/
|
|||||||
######################################################################
|
######################################################################
|
||||||
# Others
|
# Others
|
||||||
*.log
|
*.log
|
||||||
*.log.gz
|
|
||||||
*.xml.versionsBackup
|
*.xml.versionsBackup
|
||||||
*.swp
|
*.swp
|
||||||
|
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
package org.dromara.common.core.domain.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serial;
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 流程实例业务扩展对象
|
|
||||||
*
|
|
||||||
* @author may
|
|
||||||
* @date 2025-08-05
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class FlowInstanceBizExtDTO implements Serializable {
|
|
||||||
|
|
||||||
@Serial
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 主键
|
|
||||||
*/
|
|
||||||
private Long id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 流程实例ID
|
|
||||||
*/
|
|
||||||
private Long instanceId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务ID
|
|
||||||
*/
|
|
||||||
private String businessId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务编码
|
|
||||||
*/
|
|
||||||
private String businessCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务标题
|
|
||||||
*/
|
|
||||||
private String businessTitle;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
package org.dromara.common.core.domain.dto;
|
package org.dromara.common.core.domain.dto;
|
||||||
|
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
@@ -41,11 +40,6 @@ public class StartProcessDTO implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private Map<String, Object> variables;
|
private Map<String, Object> variables;
|
||||||
|
|
||||||
/**
|
|
||||||
* 流程业务扩展信息
|
|
||||||
*/
|
|
||||||
private FlowInstanceBizExtDTO bizExt;
|
|
||||||
|
|
||||||
public Map<String, Object> getVariables() {
|
public Map<String, Object> getVariables() {
|
||||||
if (variables == null) {
|
if (variables == null) {
|
||||||
return new HashMap<>(16);
|
return new HashMap<>(16);
|
||||||
@@ -53,11 +47,4 @@ public class StartProcessDTO implements Serializable {
|
|||||||
variables.entrySet().removeIf(entry -> Objects.isNull(entry.getValue()));
|
variables.entrySet().removeIf(entry -> Objects.isNull(entry.getValue()));
|
||||||
return variables;
|
return variables;
|
||||||
}
|
}
|
||||||
|
|
||||||
public FlowInstanceBizExtDTO getBizExt() {
|
|
||||||
if (ObjectUtil.isNull(bizExt)) {
|
|
||||||
bizExt = new FlowInstanceBizExtDTO();
|
|
||||||
}
|
|
||||||
return bizExt;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import cn.hutool.core.util.ArrayUtil;
|
|||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.exc.MismatchedInputException;
|
import com.fasterxml.jackson.databind.exc.MismatchedInputException;
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
@@ -168,58 +167,4 @@ public class JsonUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 判断字符串是否为合法 JSON(对象或数组)
|
|
||||||
*
|
|
||||||
* @param str 待校验字符串
|
|
||||||
* @return true = 合法 JSON,false = 非法或空
|
|
||||||
*/
|
|
||||||
public static boolean isJson(String str) {
|
|
||||||
if (StringUtils.isBlank(str)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
OBJECT_MAPPER.readTree(str);
|
|
||||||
return true;
|
|
||||||
} catch (Exception e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 判断字符串是否为 JSON 对象({})
|
|
||||||
*
|
|
||||||
* @param str 待校验字符串
|
|
||||||
* @return true = JSON 对象
|
|
||||||
*/
|
|
||||||
public static boolean isJsonObject(String str) {
|
|
||||||
if (StringUtils.isBlank(str)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
JsonNode node = OBJECT_MAPPER.readTree(str);
|
|
||||||
return node.isObject();
|
|
||||||
} catch (Exception e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 判断字符串是否为 JSON 数组([])
|
|
||||||
*
|
|
||||||
* @param str 待校验字符串
|
|
||||||
* @return true = JSON 数组
|
|
||||||
*/
|
|
||||||
public static boolean isJsonArray(String str) {
|
|
||||||
if (StringUtils.isBlank(str)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
JsonNode node = OBJECT_MAPPER.readTree(str);
|
|
||||||
return node.isArray();
|
|
||||||
} catch (Exception e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
package org.dromara.common.json.validate;
|
|
||||||
|
|
||||||
import jakarta.validation.Constraint;
|
|
||||||
import jakarta.validation.Payload;
|
|
||||||
|
|
||||||
import java.lang.annotation.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JSON 格式校验注解
|
|
||||||
*
|
|
||||||
* @author AprilWind
|
|
||||||
*/
|
|
||||||
@Documented
|
|
||||||
@Target({ElementType.METHOD, ElementType.FIELD})
|
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
|
||||||
@Constraint(validatedBy = JsonPatternValidator.class)
|
|
||||||
public @interface JsonPattern {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 限制 JSON 类型,默认为 {@link JsonType#ANY},即对象或数组都允许
|
|
||||||
*/
|
|
||||||
JsonType type() default JsonType.ANY;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 校验失败时的提示消息
|
|
||||||
*/
|
|
||||||
String message() default "不是有效的 JSON 格式";
|
|
||||||
|
|
||||||
Class<?>[] groups() default {};
|
|
||||||
|
|
||||||
Class<? extends Payload>[] payload() default {};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
package org.dromara.common.json.validate;
|
|
||||||
|
|
||||||
import jakarta.validation.ConstraintValidator;
|
|
||||||
import jakarta.validation.ConstraintValidatorContext;
|
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
|
||||||
import org.dromara.common.json.utils.JsonUtils;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JSON 格式校验器
|
|
||||||
*
|
|
||||||
* @author AprilWind
|
|
||||||
*/
|
|
||||||
public class JsonPatternValidator implements ConstraintValidator<JsonPattern, String> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 注解中指定的 JSON 类型枚举
|
|
||||||
*/
|
|
||||||
private JsonType jsonType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始化校验器,从注解中提取 JSON 类型
|
|
||||||
*
|
|
||||||
* @param annotation 注解实例
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void initialize(JsonPattern annotation) {
|
|
||||||
this.jsonType = annotation.type();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 校验字符串是否为合法 JSON
|
|
||||||
*
|
|
||||||
* @param value 待校验字符串
|
|
||||||
* @param context 校验上下文,可用于自定义错误信息
|
|
||||||
* @return true = 合法 JSON 或为空,false = 非法 JSON
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean isValid(String value, ConstraintValidatorContext context) {
|
|
||||||
if (StringUtils.isBlank(value)) {
|
|
||||||
// 交给 @NotBlank 或 @NotNull 控制是否允许为空
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
// 根据 JSON 类型进行不同的校验
|
|
||||||
return switch (jsonType) {
|
|
||||||
case ANY -> JsonUtils.isJson(value);
|
|
||||||
case OBJECT -> JsonUtils.isJsonObject(value);
|
|
||||||
case ARRAY -> JsonUtils.isJsonArray(value);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
package org.dromara.common.json.validate;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JSON 类型枚举
|
|
||||||
*
|
|
||||||
* @author AprilWind
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@AllArgsConstructor
|
|
||||||
public enum JsonType {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JSON 对象,例如 {"a":1}
|
|
||||||
*/
|
|
||||||
OBJECT,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JSON 数组,例如 [1,2,3]
|
|
||||||
*/
|
|
||||||
ARRAY,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 任意 JSON 类型,对象或数组都可以
|
|
||||||
*/
|
|
||||||
ANY
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -40,10 +40,6 @@ public class MybatisExceptionHandler {
|
|||||||
log.error("请求地址'{}', 未找到数据源", requestURI);
|
log.error("请求地址'{}', 未找到数据源", requestURI);
|
||||||
return R.fail(HttpStatus.HTTP_INTERNAL_ERROR, "未找到数据源,请联系管理员确认");
|
return R.fail(HttpStatus.HTTP_INTERNAL_ERROR, "未找到数据源,请联系管理员确认");
|
||||||
}
|
}
|
||||||
if (StringUtils.contains(message, "NotLoginException")) {
|
|
||||||
log.error("请求地址'{}',认证失败'{}',无法访问系统资源", requestURI, e.getMessage());
|
|
||||||
return R.fail(HttpStatus.HTTP_UNAUTHORIZED, "认证失败,无法访问系统资源");
|
|
||||||
}
|
|
||||||
log.error("请求地址'{}', Mybatis系统异常", requestURI, e);
|
log.error("请求地址'{}', Mybatis系统异常", requestURI, e);
|
||||||
return R.fail(HttpStatus.HTTP_INTERNAL_ERROR, message);
|
return R.fail(HttpStatus.HTTP_INTERNAL_ERROR, message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,9 +7,7 @@ import cn.dev33.satoken.interceptor.SaInterceptor;
|
|||||||
import cn.dev33.satoken.router.SaRouter;
|
import cn.dev33.satoken.router.SaRouter;
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import cn.dev33.satoken.util.SaResult;
|
import cn.dev33.satoken.util.SaResult;
|
||||||
import cn.dev33.satoken.util.SaTokenConsts;
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.common.core.constant.HttpStatus;
|
import org.dromara.common.core.constant.HttpStatus;
|
||||||
@@ -57,8 +55,6 @@ public class SecurityConfig implements WebMvcConfigurer {
|
|||||||
// 对未排除的路径进行检查
|
// 对未排除的路径进行检查
|
||||||
.check(() -> {
|
.check(() -> {
|
||||||
HttpServletRequest request = ServletUtils.getRequest();
|
HttpServletRequest request = ServletUtils.getRequest();
|
||||||
HttpServletResponse response = ServletUtils.getResponse();
|
|
||||||
response.setContentType(SaTokenConsts.CONTENT_TYPE_APPLICATION_JSON);
|
|
||||||
// 检查是否登录 是否有token
|
// 检查是否登录 是否有token
|
||||||
StpUtil.checkLogin();
|
StpUtil.checkLogin();
|
||||||
|
|
||||||
@@ -98,11 +94,7 @@ public class SecurityConfig implements WebMvcConfigurer {
|
|||||||
.setAuth(obj -> {
|
.setAuth(obj -> {
|
||||||
SaHttpBasicUtil.check(username + ":" + password);
|
SaHttpBasicUtil.check(username + ":" + password);
|
||||||
})
|
})
|
||||||
.setError(e -> {
|
.setError(e -> SaResult.error(e.getMessage()).setCode(HttpStatus.UNAUTHORIZED));
|
||||||
HttpServletResponse response = ServletUtils.getResponse();
|
|
||||||
response.setContentType(SaTokenConsts.CONTENT_TYPE_APPLICATION_JSON);
|
|
||||||
return SaResult.error(e.getMessage()).setCode(HttpStatus.UNAUTHORIZED);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -193,19 +193,4 @@ public class SysTenantController extends BaseController {
|
|||||||
return R.ok("同步租户字典成功");
|
return R.ok("同步租户字典成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 同步租户参数配置
|
|
||||||
*/
|
|
||||||
@SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY)
|
|
||||||
@Log(title = "租户管理", businessType = BusinessType.INSERT)
|
|
||||||
@Lock4j
|
|
||||||
@GetMapping("/syncTenantConfig")
|
|
||||||
public R<Void> syncTenantConfig() {
|
|
||||||
if (!TenantHelper.isEnable()) {
|
|
||||||
return R.fail("当前未开启租户模式");
|
|
||||||
}
|
|
||||||
tenantService.syncTenantConfig();
|
|
||||||
return R.ok("同步租户参数配置成功");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ import jakarta.validation.constraints.Size;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import org.dromara.common.core.constant.RegexConstants;
|
import org.dromara.common.core.constant.RegexConstants;
|
||||||
import org.dromara.common.json.validate.JsonPattern;
|
|
||||||
import org.dromara.common.json.validate.JsonType;
|
|
||||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
import org.dromara.system.domain.SysMenu;
|
import org.dromara.system.domain.SysMenu;
|
||||||
|
|
||||||
@@ -63,7 +61,6 @@ public class SysMenuBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 路由参数
|
* 路由参数
|
||||||
*/
|
*/
|
||||||
@JsonPattern(type = JsonType.OBJECT, message = "路由参数必须符合JSON格式")
|
|
||||||
private String queryParam;
|
private String queryParam;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package org.dromara.system.service;
|
package org.dromara.system.service;
|
||||||
|
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import org.dromara.system.domain.bo.SysTenantBo;
|
|
||||||
import org.dromara.system.domain.vo.SysTenantVo;
|
import org.dromara.system.domain.vo.SysTenantVo;
|
||||||
|
import org.dromara.system.domain.bo.SysTenantBo;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -84,9 +84,4 @@ public interface ISysTenantService {
|
|||||||
* 同步租户字典
|
* 同步租户字典
|
||||||
*/
|
*/
|
||||||
void syncTenantDict();
|
void syncTenantDict();
|
||||||
|
|
||||||
/**
|
|
||||||
* 同步租户参数配置
|
|
||||||
*/
|
|
||||||
void syncTenantConfig();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -508,60 +508,4 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 同步租户参数配置
|
|
||||||
*/
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
@Override
|
|
||||||
public void syncTenantConfig() {
|
|
||||||
// 查询超管 所有参数配置
|
|
||||||
List<SysConfig> configList = TenantHelper.ignore(() -> configMapper.selectList());
|
|
||||||
|
|
||||||
// 所有租户参数配置
|
|
||||||
Map<String, List<SysConfig>> configMap = StreamUtils.groupByKey(configList, TenantEntity::getTenantId);
|
|
||||||
|
|
||||||
// 默认租户字典类型列表
|
|
||||||
List<SysConfig> defaultConfigList = configMap.get(TenantConstants.DEFAULT_TENANT_ID);
|
|
||||||
|
|
||||||
// 获取所有租户编号
|
|
||||||
List<String> tenantIds = baseMapper.selectObjs(
|
|
||||||
new LambdaQueryWrapper<SysTenant>().select(SysTenant::getTenantId)
|
|
||||||
.eq(SysTenant::getStatus, SystemConstants.NORMAL), x -> {
|
|
||||||
return Convert.toStr(x);
|
|
||||||
});
|
|
||||||
// 待入库的字典类型和字典数据
|
|
||||||
List<SysConfig> saveConfigList = new ArrayList<>();
|
|
||||||
// 待同步的租户编号(用于清除对于租户的字典缓存)
|
|
||||||
Set<String> syncTenantIds = new HashSet<>();
|
|
||||||
// 循环所有租户,处理需要同步的数据
|
|
||||||
for (String tenantId : tenantIds) {
|
|
||||||
// 排除默认租户
|
|
||||||
if (TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// 根据默认租户的字典类型进行数据同步
|
|
||||||
for (SysConfig config : defaultConfigList) {
|
|
||||||
// 获取当前租户的字典类型列表
|
|
||||||
List<String> typeList = StreamUtils.toList(configMap.get(tenantId), SysConfig::getConfigKey);
|
|
||||||
if (!typeList.contains(config.getConfigKey())) {
|
|
||||||
SysConfig type = BeanUtil.toBean(config, SysConfig.class);
|
|
||||||
type.setConfigId(null);
|
|
||||||
type.setTenantId(tenantId);
|
|
||||||
type.setCreateTime(null);
|
|
||||||
type.setUpdateTime(null);
|
|
||||||
syncTenantIds.add(tenantId);
|
|
||||||
saveConfigList.add(type);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
TenantHelper.ignore(() -> {
|
|
||||||
if (CollUtil.isNotEmpty(saveConfigList)) {
|
|
||||||
configMapper.insertBatch(saveConfigList);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
for (String tenantId : syncTenantIds) {
|
|
||||||
TenantHelper.dynamic(tenantId, () -> CacheUtils.clear(CacheNames.SYS_CONFIG));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public enum ButtonPermissionEnum implements NodeExtEnum {
|
|||||||
/**
|
/**
|
||||||
* 是否能抄送
|
* 是否能抄送
|
||||||
*/
|
*/
|
||||||
COPY("是否能抄送", "copy", true),
|
COPY("是否能抄送", "copy", false),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否显示退回
|
* 是否显示退回
|
||||||
|
|||||||
@@ -485,9 +485,9 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
|||||||
|
|
||||||
Map<String, Object> variable = new HashMap<>();
|
Map<String, Object> variable = new HashMap<>();
|
||||||
// 消息类型
|
// 消息类型
|
||||||
variable.put(FlowConstant.MESSAGE_TYPE, messageType);
|
variable.put("messageType", messageType);
|
||||||
// 消息通知
|
// 消息通知
|
||||||
variable.put(FlowConstant.MESSAGE_NOTICE, notice);
|
variable.put("notice", notice);
|
||||||
|
|
||||||
FlowParams flowParams = FlowParams.build()
|
FlowParams flowParams = FlowParams.build()
|
||||||
.nodeCode(bo.getNodeCode())
|
.nodeCode(bo.getNodeCode())
|
||||||
@@ -731,7 +731,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
|||||||
Long taskId = bo.getTaskId();
|
Long taskId = bo.getTaskId();
|
||||||
Task task = taskService.getById(taskId);
|
Task task = taskService.getById(taskId);
|
||||||
FlowNode flowNode = getByNodeCode(task.getNodeCode(), task.getDefinitionId());
|
FlowNode flowNode = getByNodeCode(task.getNodeCode(), task.getDefinitionId());
|
||||||
if (ADD_SIGNATURE.equals(taskOperation) || REDUCTION_SIGNATURE.equals(taskOperation)) {
|
if ("addSignature".equals(taskOperation) || "reductionSignature".equals(taskOperation)) {
|
||||||
if (flowNode.getNodeRatio().compareTo(BigDecimal.ZERO) == 0) {
|
if (flowNode.getNodeRatio().compareTo(BigDecimal.ZERO) == 0) {
|
||||||
throw new ServiceException(task.getNodeName() + "不是会签节点!");
|
throw new ServiceException(task.getNodeName() + "不是会签节点!");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
|
|||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||||
import org.dromara.workflow.common.constant.FlowConstant;
|
|
||||||
import org.dromara.workflow.domain.TestLeave;
|
import org.dromara.workflow.domain.TestLeave;
|
||||||
import org.dromara.workflow.domain.bo.TestLeaveBo;
|
import org.dromara.workflow.domain.bo.TestLeaveBo;
|
||||||
import org.dromara.workflow.domain.vo.TestLeaveVo;
|
import org.dromara.workflow.domain.vo.TestLeaveVo;
|
||||||
@@ -195,7 +194,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
|||||||
}
|
}
|
||||||
if (processEvent.getSubmit()) {
|
if (processEvent.getSubmit()) {
|
||||||
if(StringUtils.isBlank(testLeave.getApplyCode())){
|
if(StringUtils.isBlank(testLeave.getApplyCode())){
|
||||||
String businessCode = MapUtil.getStr(params, FlowConstant.BUSINESS_CODE, StrUtil.EMPTY);
|
String businessCode = MapUtil.getStr(params, "businessCode",StrUtil.EMPTY);
|
||||||
testLeave.setApplyCode(businessCode);
|
testLeave.setApplyCode(businessCode);
|
||||||
}
|
}
|
||||||
testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus());
|
testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus());
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import org.dromara.common.core.utils.StringUtils;
|
|||||||
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
||||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||||
import org.dromara.workflow.common.enums.MessageTypeEnum;
|
import org.dromara.workflow.common.enums.MessageTypeEnum;
|
||||||
import org.dromara.workflow.domain.FlowInstanceBizExt;
|
|
||||||
import org.dromara.workflow.domain.bo.CompleteTaskBo;
|
import org.dromara.workflow.domain.bo.CompleteTaskBo;
|
||||||
import org.dromara.workflow.domain.bo.StartProcessBo;
|
import org.dromara.workflow.domain.bo.StartProcessBo;
|
||||||
import org.dromara.workflow.service.IFlwDefinitionService;
|
import org.dromara.workflow.service.IFlwDefinitionService;
|
||||||
@@ -167,7 +166,6 @@ public class WorkflowServiceImpl implements WorkflowService {
|
|||||||
processBo.setFlowCode(startProcess.getFlowCode());
|
processBo.setFlowCode(startProcess.getFlowCode());
|
||||||
processBo.setVariables(startProcess.getVariables());
|
processBo.setVariables(startProcess.getVariables());
|
||||||
processBo.setHandler(startProcess.getHandler());
|
processBo.setHandler(startProcess.getHandler());
|
||||||
processBo.setBizExt(BeanUtil.toBean(startProcess.getBizExt(), FlowInstanceBizExt.class));
|
|
||||||
|
|
||||||
StartProcessReturnDTO result = flwTaskService.startWorkFlow(processBo);
|
StartProcessReturnDTO result = flwTaskService.startWorkFlow(processBo);
|
||||||
CompleteTaskBo taskBo = new CompleteTaskBo();
|
CompleteTaskBo taskBo = new CompleteTaskBo();
|
||||||
|
|||||||
@@ -16,8 +16,6 @@ http {
|
|||||||
client_max_body_size 100m;
|
client_max_body_size 100m;
|
||||||
# 开启静态资源压缩
|
# 开启静态资源压缩
|
||||||
gzip_static on;
|
gzip_static on;
|
||||||
# 隐藏 nginx 版本号,防止暴露版本信息
|
|
||||||
server_tokens off;
|
|
||||||
|
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
'$status $body_bytes_sent "$http_referer" '
|
'$status $body_bytes_sent "$http_referer" '
|
||||||
|
|||||||
@@ -1,129 +1,75 @@
|
|||||||
{
|
{
|
||||||
"nodeList": [
|
|
||||||
{
|
|
||||||
"nodeType": "0",
|
|
||||||
"nodeCode": "d5ee3ddf-3968-4379-a86f-9ceabde5faac",
|
|
||||||
"nodeName": "开始",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "200,200|200,200",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "d5ee3ddf-3968-4379-a86f-9ceabde5faac",
|
|
||||||
"nextNodeCode": "dd515cdd-59f6-446f-94ca-25ca062afb42",
|
|
||||||
"coordinate": "220,200;310,200"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "dd515cdd-59f6-446f-94ca-25ca062afb42",
|
|
||||||
"nodeName": "申请人",
|
|
||||||
"permissionFlag": "",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,copy\"}]",
|
|
||||||
"coordinate": "360,200|360,200",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "dd515cdd-59f6-446f-94ca-25ca062afb42",
|
|
||||||
"nextNodeCode": "78fa8e5b-e809-44ed-978a-41092409ebcf",
|
|
||||||
"coordinate": "410,200;490,200"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "78fa8e5b-e809-44ed-978a-41092409ebcf",
|
|
||||||
"nodeName": "组长",
|
|
||||||
"permissionFlag": "role:1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,copy,transfer,trust,file\"}]",
|
|
||||||
"coordinate": "540,200|540,200",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "78fa8e5b-e809-44ed-978a-41092409ebcf",
|
|
||||||
"nextNodeCode": "a8abf15f-b83e-428a-86cc-033555ea9bbe",
|
|
||||||
"coordinate": "590,200;670,200"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "a8abf15f-b83e-428a-86cc-033555ea9bbe",
|
|
||||||
"nodeName": "部门主管",
|
|
||||||
"permissionFlag": "role:3@@role:4",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,copy,transfer,trust,file\"}]",
|
|
||||||
"coordinate": "720,200|720,200",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "a8abf15f-b83e-428a-86cc-033555ea9bbe",
|
|
||||||
"nextNodeCode": "8b82b7d7-8660-455e-b880-d6d22ea3eb6d",
|
|
||||||
"coordinate": "770,200;880,200"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "2",
|
|
||||||
"nodeCode": "8b82b7d7-8660-455e-b880-d6d22ea3eb6d",
|
|
||||||
"nodeName": "结束",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "900,200|900,200",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": []
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"flowCode" : "leave1",
|
"flowCode" : "leave1",
|
||||||
"flowName" : "请假申请-普通",
|
"flowName" : "请假申请-普通",
|
||||||
"modelValue": "CLASSICS",
|
"category" : "100",
|
||||||
"category": "103",
|
|
||||||
"version" : "1",
|
"version" : "1",
|
||||||
"formCustom" : "N",
|
"formCustom" : "N",
|
||||||
"formPath" : "/workflow/leaveEdit/index",
|
"formPath" : "/workflow/leaveEdit/index",
|
||||||
"listenerType": null,
|
"nodeList" : [ {
|
||||||
"listenerPath": null
|
"nodeType" : 0,
|
||||||
|
"nodeCode" : "d5ee3ddf-3968-4379-a86f-9ceabde5faac",
|
||||||
|
"nodeName" : "开始",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "200,200|200,200",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "d5ee3ddf-3968-4379-a86f-9ceabde5faac",
|
||||||
|
"nextNodeCode" : "dd515cdd-59f6-446f-94ca-25ca062afb42",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "220,200;310,200"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "dd515cdd-59f6-446f-94ca-25ca062afb42",
|
||||||
|
"nodeName" : "申请人",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "360,200|360,200",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "dd515cdd-59f6-446f-94ca-25ca062afb42",
|
||||||
|
"nextNodeCode" : "78fa8e5b-e809-44ed-978a-41092409ebcf",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "410,200;490,200"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "78fa8e5b-e809-44ed-978a-41092409ebcf",
|
||||||
|
"nodeName" : "组长",
|
||||||
|
"permissionFlag" : "role:1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "540,200|540,200",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "78fa8e5b-e809-44ed-978a-41092409ebcf",
|
||||||
|
"nextNodeCode" : "a8abf15f-b83e-428a-86cc-033555ea9bbe",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "590,200;670,200"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "a8abf15f-b83e-428a-86cc-033555ea9bbe",
|
||||||
|
"nodeName" : "部门主管",
|
||||||
|
"permissionFlag" : "role:3@@role:4",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "720,200|720,200",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "a8abf15f-b83e-428a-86cc-033555ea9bbe",
|
||||||
|
"nextNodeCode" : "8b82b7d7-8660-455e-b880-d6d22ea3eb6d",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "770,200;880,200"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 2,
|
||||||
|
"nodeCode" : "8b82b7d7-8660-455e-b880-d6d22ea3eb6d",
|
||||||
|
"nodeName" : "结束",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "900,200|900,200",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]"
|
||||||
|
} ]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,187 +1,111 @@
|
|||||||
{
|
{
|
||||||
"nodeList": [
|
|
||||||
{
|
|
||||||
"nodeType": "0",
|
|
||||||
"nodeCode": "cef3895c-f7d8-4598-8bf3-8ec2ef6ce84a",
|
|
||||||
"nodeName": "开始",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "300,240|300,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "cef3895c-f7d8-4598-8bf3-8ec2ef6ce84a",
|
|
||||||
"nextNodeCode": "fdcae93b-b69c-498a-b231-09255e74bcbd",
|
|
||||||
"coordinate": "320,240;390,240"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "fdcae93b-b69c-498a-b231-09255e74bcbd",
|
|
||||||
"nodeName": "申请人",
|
|
||||||
"permissionFlag": "",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file\"}]",
|
|
||||||
"coordinate": "440,240|440,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "fdcae93b-b69c-498a-b231-09255e74bcbd",
|
|
||||||
"nextNodeCode": "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
|
||||||
"coordinate": "490,240;535,240"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "3",
|
|
||||||
"nodeCode": "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "560,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": "le@@leaveDays|2",
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
|
||||||
"nextNodeCode": "b3528155-dcb7-4445-bbdf-3d00e3499e86",
|
|
||||||
"coordinate": "560,265;560,320;670,320"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": "gt@@leaveDays|2",
|
|
||||||
"skipName": "大于两天",
|
|
||||||
"nowNodeCode": "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
|
||||||
"nextNodeCode": "5ed2362b-fc0c-4d52-831f-95208b830605",
|
|
||||||
"coordinate": "560,215;560,160;670,160|560,187"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "b3528155-dcb7-4445-bbdf-3d00e3499e86",
|
|
||||||
"nodeName": "组长",
|
|
||||||
"permissionFlag": "3@@4",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,transfer,trust,copy\"}]",
|
|
||||||
"coordinate": "720,320|720,320",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "b3528155-dcb7-4445-bbdf-3d00e3499e86",
|
|
||||||
"nextNodeCode": "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
|
||||||
"coordinate": "770,320;860,320;860,280"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
|
||||||
"nodeName": "总经理",
|
|
||||||
"permissionFlag": "role:1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,transfer,trust,copy\"}]",
|
|
||||||
"coordinate": "860,240|860,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
|
||||||
"nextNodeCode": "40aa65fd-0712-4d23-b6f7-d0432b920fd1",
|
|
||||||
"coordinate": "910,240;980,240"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "2",
|
|
||||||
"nodeCode": "40aa65fd-0712-4d23-b6f7-d0432b920fd1",
|
|
||||||
"nodeName": "结束",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "1000,240|1000,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "5ed2362b-fc0c-4d52-831f-95208b830605",
|
|
||||||
"nodeName": "部门领导",
|
|
||||||
"permissionFlag": "role:1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,transfer,trust,copy\"}]",
|
|
||||||
"coordinate": "720,160|720,160",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "5ed2362b-fc0c-4d52-831f-95208b830605",
|
|
||||||
"nextNodeCode": "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
|
||||||
"nextNodeType": "1",
|
|
||||||
"coordinate": "770,160;860,160;860,200"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"flowCode" : "leave2",
|
"flowCode" : "leave2",
|
||||||
"flowName" : "请假申请-排他网关",
|
"flowName" : "请假申请-排他网关",
|
||||||
"modelValue": "CLASSICS",
|
"category" : "100",
|
||||||
"category": "103",
|
|
||||||
"version" : "1",
|
"version" : "1",
|
||||||
"formCustom" : "N",
|
"formCustom" : "N",
|
||||||
"formPath" : "/workflow/leaveEdit/index",
|
"formPath" : "/workflow/leaveEdit/index",
|
||||||
"listenerType": null,
|
"nodeList" : [ {
|
||||||
"listenerPath": null
|
"nodeType" : 0,
|
||||||
|
"nodeCode" : "cef3895c-f7d8-4598-8bf3-8ec2ef6ce84a",
|
||||||
|
"nodeName" : "开始",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "300,240|300,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "cef3895c-f7d8-4598-8bf3-8ec2ef6ce84a",
|
||||||
|
"nextNodeCode" : "fdcae93b-b69c-498a-b231-09255e74bcbd",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "320,240;390,240"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "fdcae93b-b69c-498a-b231-09255e74bcbd",
|
||||||
|
"nodeName" : "申请人",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "440,240|440,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "fdcae93b-b69c-498a-b231-09255e74bcbd",
|
||||||
|
"nextNodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "490,240;535,240"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 3,
|
||||||
|
"nodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "560,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
||||||
|
"nextNodeCode" : "b3528155-dcb7-4445-bbdf-3d00e3499e86",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"skipCondition" : "le@@leaveDays|2",
|
||||||
|
"coordinate" : "560,265;560,320;670,320"
|
||||||
|
}, {
|
||||||
|
"nowNodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
|
||||||
|
"nextNodeCode" : "5ed2362b-fc0c-4d52-831f-95208b830605",
|
||||||
|
"skipName" : "大于两天",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"skipCondition" : "gt@@leaveDays|2",
|
||||||
|
"coordinate" : "560,215;560,160;670,160|560,187"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "b3528155-dcb7-4445-bbdf-3d00e3499e86",
|
||||||
|
"nodeName" : "组长",
|
||||||
|
"permissionFlag" : "3@@4",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "720,320|720,320",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "b3528155-dcb7-4445-bbdf-3d00e3499e86",
|
||||||
|
"nextNodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "770,320;860,320;860,280"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
||||||
|
"nodeName" : "总经理",
|
||||||
|
"permissionFlag" : "role:1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "860,240|860,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
||||||
|
"nextNodeCode" : "40aa65fd-0712-4d23-b6f7-d0432b920fd1",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "910,240;980,240"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 2,
|
||||||
|
"nodeCode" : "40aa65fd-0712-4d23-b6f7-d0432b920fd1",
|
||||||
|
"nodeName" : "结束",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1000,240|1000,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]"
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "5ed2362b-fc0c-4d52-831f-95208b830605",
|
||||||
|
"nodeName" : "部门领导",
|
||||||
|
"permissionFlag" : "role:1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "720,160|720,160",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "5ed2362b-fc0c-4d52-831f-95208b830605",
|
||||||
|
"nextNodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "770,160;860,160;860,200"
|
||||||
|
} ]
|
||||||
|
} ]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,211 +1,121 @@
|
|||||||
{
|
{
|
||||||
"nodeList": [
|
|
||||||
{
|
|
||||||
"nodeType": "0",
|
|
||||||
"nodeCode": "a80ecf9f-f465-4ae5-a429-e30ec5d0f957",
|
|
||||||
"nodeName": "开始",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "380,220|380,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "a80ecf9f-f465-4ae5-a429-e30ec5d0f957",
|
|
||||||
"nextNodeCode": "b7bbb571-06de-455c-8083-f83c07bf0b99",
|
|
||||||
"coordinate": "400,220;470,220"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "b7bbb571-06de-455c-8083-f83c07bf0b99",
|
|
||||||
"nodeName": "申请人",
|
|
||||||
"permissionFlag": "",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file\"}]",
|
|
||||||
"coordinate": "520,220|520,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "b7bbb571-06de-455c-8083-f83c07bf0b99",
|
|
||||||
"nextNodeCode": "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
|
||||||
"coordinate": "570,220;655,220"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "4",
|
|
||||||
"nodeCode": "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "680,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
|
||||||
"nextNodeCode": "4b7743cd-940c-431b-926f-e7b614fbf1fe",
|
|
||||||
"coordinate": "680,195;680,140;750,140"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
|
||||||
"nextNodeCode": "762cb975-37d8-4276-b6db-79a4c3606394",
|
|
||||||
"coordinate": "680,245;680,300;750,300"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "4b7743cd-940c-431b-926f-e7b614fbf1fe",
|
|
||||||
"nodeName": "市场部",
|
|
||||||
"permissionFlag": "role:1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,transfer,trust,copy\"}]",
|
|
||||||
"coordinate": "800,140|800,140",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "4b7743cd-940c-431b-926f-e7b614fbf1fe",
|
|
||||||
"nextNodeCode": "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
|
||||||
"coordinate": "850,140;920,140;920,195"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "4",
|
|
||||||
"nodeCode": "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "920,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
|
||||||
"nextNodeCode": "23e7429e-2b47-4431-b93e-40db7c431ce6",
|
|
||||||
"coordinate": "945,220;975,220;975,220;960,220;960,220;990,220"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "23e7429e-2b47-4431-b93e-40db7c431ce6",
|
|
||||||
"nodeName": "CEO",
|
|
||||||
"permissionFlag": "1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,transfer,trust,copy\"}]",
|
|
||||||
"coordinate": "1040,220|1040,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "23e7429e-2b47-4431-b93e-40db7c431ce6",
|
|
||||||
"nextNodeCode": "f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1",
|
|
||||||
"coordinate": "1090,220;1140,220"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "2",
|
|
||||||
"nodeCode": "f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1",
|
|
||||||
"nodeName": "结束",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "1160,220|1160,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "762cb975-37d8-4276-b6db-79a4c3606394",
|
|
||||||
"nodeName": "综合部",
|
|
||||||
"permissionFlag": "role:3@@role:4",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,transfer,trust,copy\"}]",
|
|
||||||
"coordinate": "800,300|800,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "762cb975-37d8-4276-b6db-79a4c3606394",
|
|
||||||
"nextNodeCode": "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
|
||||||
"nextNodeType": "4",
|
|
||||||
"coordinate": "850,300;920,300;920,245"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"flowCode" : "leave3",
|
"flowCode" : "leave3",
|
||||||
"flowName" : "请假申请-并行网关",
|
"flowName" : "请假申请-并行网关",
|
||||||
"modelValue": "CLASSICS",
|
"category" : "100",
|
||||||
"category": "103",
|
|
||||||
"version" : "1",
|
"version" : "1",
|
||||||
"formCustom" : "N",
|
"formCustom" : "N",
|
||||||
"formPath" : "/workflow/leaveEdit/index",
|
"formPath" : "/workflow/leaveEdit/index",
|
||||||
"listenerType": null,
|
"nodeList" : [ {
|
||||||
"listenerPath": null
|
"nodeType" : 0,
|
||||||
|
"nodeCode" : "a80ecf9f-f465-4ae5-a429-e30ec5d0f957",
|
||||||
|
"nodeName" : "开始",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "380,220|380,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "a80ecf9f-f465-4ae5-a429-e30ec5d0f957",
|
||||||
|
"nextNodeCode" : "b7bbb571-06de-455c-8083-f83c07bf0b99",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "400,220;470,220"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "b7bbb571-06de-455c-8083-f83c07bf0b99",
|
||||||
|
"nodeName" : "申请人",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "520,220|520,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "b7bbb571-06de-455c-8083-f83c07bf0b99",
|
||||||
|
"nextNodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "570,220;655,220"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 4,
|
||||||
|
"nodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "680,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
||||||
|
"nextNodeCode" : "4b7743cd-940c-431b-926f-e7b614fbf1fe",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "680,195;680,140;750,140"
|
||||||
|
}, {
|
||||||
|
"nowNodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
|
||||||
|
"nextNodeCode" : "762cb975-37d8-4276-b6db-79a4c3606394",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "680,245;680,300;750,300"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "4b7743cd-940c-431b-926f-e7b614fbf1fe",
|
||||||
|
"nodeName" : "市场部",
|
||||||
|
"permissionFlag" : "role:1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "800,140|800,140",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "4b7743cd-940c-431b-926f-e7b614fbf1fe",
|
||||||
|
"nextNodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "850,140;920,140;920,195"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 4,
|
||||||
|
"nodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "920,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
||||||
|
"nextNodeCode" : "23e7429e-2b47-4431-b93e-40db7c431ce6",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "945,220;975,220;975,220;960,220;960,220;990,220"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "23e7429e-2b47-4431-b93e-40db7c431ce6",
|
||||||
|
"nodeName" : "CEO",
|
||||||
|
"permissionFlag" : "1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1040,220|1040,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "23e7429e-2b47-4431-b93e-40db7c431ce6",
|
||||||
|
"nextNodeCode" : "f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1090,220;1140,220"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 2,
|
||||||
|
"nodeCode" : "f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1",
|
||||||
|
"nodeName" : "结束",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1160,220|1160,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]"
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "762cb975-37d8-4276-b6db-79a4c3606394",
|
||||||
|
"nodeName" : "综合部",
|
||||||
|
"permissionFlag" : "role:3@@role:4",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "800,300|800,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "762cb975-37d8-4276-b6db-79a4c3606394",
|
||||||
|
"nextNodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "850,300;920,300;920,245"
|
||||||
|
} ]
|
||||||
|
} ]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,154 +1,90 @@
|
|||||||
{
|
{
|
||||||
"nodeList": [
|
|
||||||
{
|
|
||||||
"nodeType": "0",
|
|
||||||
"nodeCode": "9ce8bf00-f25b-4fc6-91b8-827082fc4876",
|
|
||||||
"nodeName": "开始",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "320,240|320,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "9ce8bf00-f25b-4fc6-91b8-827082fc4876",
|
|
||||||
"nextNodeCode": "e90b98ef-35b4-410c-a663-bae8b7624b9f",
|
|
||||||
"coordinate": "340,240;410,240"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "e90b98ef-35b4-410c-a663-bae8b7624b9f",
|
|
||||||
"nodeName": "申请人",
|
|
||||||
"permissionFlag": "",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file\"}]",
|
|
||||||
"coordinate": "460,240|460,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "e90b98ef-35b4-410c-a663-bae8b7624b9f",
|
|
||||||
"nextNodeCode": "768b5b1a-6726-4d67-8853-4cc70d5b1045",
|
|
||||||
"coordinate": "510,240;590,240"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "768b5b1a-6726-4d67-8853-4cc70d5b1045",
|
|
||||||
"nodeName": "百分之60通过",
|
|
||||||
"permissionFlag": "${userList}",
|
|
||||||
"nodeRatio": "60.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,addSign,subSign\"}]",
|
|
||||||
"coordinate": "640,240|640,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "768b5b1a-6726-4d67-8853-4cc70d5b1045",
|
|
||||||
"nextNodeCode": "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
|
|
||||||
"coordinate": "690,240;770,240"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
|
|
||||||
"nodeName": "全部审批通过",
|
|
||||||
"permissionFlag": "role:1@@role:3",
|
|
||||||
"nodeRatio": "100.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,addSign,subSign\"}]",
|
|
||||||
"coordinate": "820,240|820,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
|
|
||||||
"nextNodeCode": "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
|
|
||||||
"coordinate": "870,240;950,240"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
|
|
||||||
"nodeName": "CEO",
|
|
||||||
"permissionFlag": "1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,transfer,trust,copy\"}]",
|
|
||||||
"coordinate": "1000,240|1000,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
|
|
||||||
"nextNodeCode": "b62b88c3-8d8d-4969-911e-2aaea219e7fc",
|
|
||||||
"coordinate": "1050,240;1080,240;1080,240;1070,240;1070,240;1100,240"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "2",
|
|
||||||
"nodeCode": "b62b88c3-8d8d-4969-911e-2aaea219e7fc",
|
|
||||||
"nodeName": "结束",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "1120,240|1120,240",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": []
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"flowCode" : "leave4",
|
"flowCode" : "leave4",
|
||||||
"flowName" : "请假申请-会签",
|
"flowName" : "请假申请-会签",
|
||||||
"modelValue": "CLASSICS",
|
"category" : "100",
|
||||||
"category": "103",
|
|
||||||
"version" : "1",
|
"version" : "1",
|
||||||
"formCustom" : "N",
|
"formCustom" : "N",
|
||||||
"formPath" : "/workflow/leaveEdit/index",
|
"formPath" : "/workflow/leaveEdit/index",
|
||||||
"listenerType": null,
|
"nodeList" : [ {
|
||||||
"listenerPath": null
|
"nodeType" : 0,
|
||||||
|
"nodeCode" : "9ce8bf00-f25b-4fc6-91b8-827082fc4876",
|
||||||
|
"nodeName" : "开始",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "320,240|320,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "9ce8bf00-f25b-4fc6-91b8-827082fc4876",
|
||||||
|
"nextNodeCode" : "e90b98ef-35b4-410c-a663-bae8b7624b9f",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "340,240;410,240"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "e90b98ef-35b4-410c-a663-bae8b7624b9f",
|
||||||
|
"nodeName" : "申请人",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "460,240|460,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "e90b98ef-35b4-410c-a663-bae8b7624b9f",
|
||||||
|
"nextNodeCode" : "768b5b1a-6726-4d67-8853-4cc70d5b1045",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "510,240;590,240"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "768b5b1a-6726-4d67-8853-4cc70d5b1045",
|
||||||
|
"nodeName" : "百分之60通过",
|
||||||
|
"permissionFlag" : "${userList}",
|
||||||
|
"nodeRatio" : 60.000,
|
||||||
|
"coordinate" : "640,240|640,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "768b5b1a-6726-4d67-8853-4cc70d5b1045",
|
||||||
|
"nextNodeCode" : "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "690,240;770,240"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
|
||||||
|
"nodeName" : "全部审批通过",
|
||||||
|
"permissionFlag" : "role:1@@role:3",
|
||||||
|
"nodeRatio" : 100.000,
|
||||||
|
"coordinate" : "820,240|820,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
|
||||||
|
"nextNodeCode" : "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "870,240;950,240"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
|
||||||
|
"nodeName" : "CEO",
|
||||||
|
"permissionFlag" : "1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1000,240|1000,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
|
||||||
|
"nextNodeCode" : "b62b88c3-8d8d-4969-911e-2aaea219e7fc",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1050,240;1080,240;1080,240;1070,240;1070,240;1100,240"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 2,
|
||||||
|
"nodeCode" : "b62b88c3-8d8d-4969-911e-2aaea219e7fc",
|
||||||
|
"nodeName" : "结束",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1120,240|1120,240",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]"
|
||||||
|
} ]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,211 +1,121 @@
|
|||||||
{
|
{
|
||||||
"nodeList": [
|
|
||||||
{
|
|
||||||
"nodeType": "0",
|
|
||||||
"nodeCode": "ebebaf26-9cb6-497e-8119-4c9fed4c597c",
|
|
||||||
"nodeName": "开始",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "300,220|300,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "ebebaf26-9cb6-497e-8119-4c9fed4c597c",
|
|
||||||
"nextNodeCode": "e1b04e96-dc81-4858-a309-2fe945d2f374",
|
|
||||||
"coordinate": "320,220;350,220;350,220;340,220;340,220;370,220"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "e1b04e96-dc81-4858-a309-2fe945d2f374",
|
|
||||||
"nodeName": "申请人",
|
|
||||||
"permissionFlag": "",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file\"}]",
|
|
||||||
"coordinate": "420,220|420,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "e1b04e96-dc81-4858-a309-2fe945d2f374",
|
|
||||||
"nextNodeCode": "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
|
||||||
"coordinate": "470,220;535,220"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "4",
|
|
||||||
"nodeCode": "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "560,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
|
||||||
"nextNodeCode": "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
|
|
||||||
"coordinate": "560,245;560,320;650,320"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
|
||||||
"nextNodeCode": "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
|
|
||||||
"coordinate": "560,195;560,120;650,120"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
|
|
||||||
"nodeName": "会签",
|
|
||||||
"permissionFlag": "role:1@@role:3",
|
|
||||||
"nodeRatio": "100.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,addSign,subSign\"}]",
|
|
||||||
"coordinate": "700,320|700,320",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
|
|
||||||
"nextNodeCode": "1a20169e-3d82-4926-a151-e2daad28de1b",
|
|
||||||
"coordinate": "750,320;860,320;860,245"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "4",
|
|
||||||
"nodeCode": "1a20169e-3d82-4926-a151-e2daad28de1b",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "860,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "1a20169e-3d82-4926-a151-e2daad28de1b",
|
|
||||||
"nextNodeCode": "7a8f0473-e409-442e-a843-5c2b813d00e9",
|
|
||||||
"coordinate": "885,220;950,220"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "7a8f0473-e409-442e-a843-5c2b813d00e9",
|
|
||||||
"nodeName": "CEO",
|
|
||||||
"permissionFlag": "1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,transfer,trust,copy\"}]",
|
|
||||||
"coordinate": "1000,220|1000,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "7a8f0473-e409-442e-a843-5c2b813d00e9",
|
|
||||||
"nextNodeCode": "03c4d2bc-58b5-4408-a2e4-65afb046f169",
|
|
||||||
"coordinate": "1050,220;1120,220"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "2",
|
|
||||||
"nodeCode": "03c4d2bc-58b5-4408-a2e4-65afb046f169",
|
|
||||||
"nodeName": "结束",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "1140,220|1140,220",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
|
|
||||||
"nodeName": "百分之60票签",
|
|
||||||
"permissionFlag": "${userList}",
|
|
||||||
"nodeRatio": "60.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file,addSign,subSign\"}]",
|
|
||||||
"coordinate": "700,120|700,120",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
|
|
||||||
"nextNodeCode": "1a20169e-3d82-4926-a151-e2daad28de1b",
|
|
||||||
"nextNodeType": "4",
|
|
||||||
"coordinate": "750,120;860,120;860,195"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"flowCode" : "leave5",
|
"flowCode" : "leave5",
|
||||||
"flowName" : "请假申请-并行会签网关",
|
"flowName" : "请假申请-并行会签网关",
|
||||||
"modelValue": "CLASSICS",
|
"category" : "100",
|
||||||
"category": "103",
|
|
||||||
"version" : "1",
|
"version" : "1",
|
||||||
"formCustom" : "N",
|
"formCustom" : "N",
|
||||||
"formPath" : "/workflow/leaveEdit/index",
|
"formPath" : "/workflow/leaveEdit/index",
|
||||||
"listenerType": null,
|
"nodeList" : [ {
|
||||||
"listenerPath": null
|
"nodeType" : 0,
|
||||||
|
"nodeCode" : "ebebaf26-9cb6-497e-8119-4c9fed4c597c",
|
||||||
|
"nodeName" : "开始",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "300,220|300,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "ebebaf26-9cb6-497e-8119-4c9fed4c597c",
|
||||||
|
"nextNodeCode" : "e1b04e96-dc81-4858-a309-2fe945d2f374",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "320,220;350,220;350,220;340,220;340,220;370,220"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "e1b04e96-dc81-4858-a309-2fe945d2f374",
|
||||||
|
"nodeName" : "申请人",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "420,220|420,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "e1b04e96-dc81-4858-a309-2fe945d2f374",
|
||||||
|
"nextNodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "470,220;535,220"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 4,
|
||||||
|
"nodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "560,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
||||||
|
"nextNodeCode" : "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "560,245;560,320;650,320"
|
||||||
|
}, {
|
||||||
|
"nowNodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
|
||||||
|
"nextNodeCode" : "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "560,195;560,120;650,120"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
|
||||||
|
"nodeName" : "会签",
|
||||||
|
"permissionFlag" : "role:1@@role:3",
|
||||||
|
"nodeRatio" : 100.000,
|
||||||
|
"coordinate" : "700,320|700,320",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
|
||||||
|
"nextNodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "750,320;860,320;860,245"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 4,
|
||||||
|
"nodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "860,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
|
||||||
|
"nextNodeCode" : "7a8f0473-e409-442e-a843-5c2b813d00e9",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "885,220;950,220"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "7a8f0473-e409-442e-a843-5c2b813d00e9",
|
||||||
|
"nodeName" : "CEO",
|
||||||
|
"permissionFlag" : "1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1000,220|1000,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "7a8f0473-e409-442e-a843-5c2b813d00e9",
|
||||||
|
"nextNodeCode" : "03c4d2bc-58b5-4408-a2e4-65afb046f169",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1050,220;1120,220"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 2,
|
||||||
|
"nodeCode" : "03c4d2bc-58b5-4408-a2e4-65afb046f169",
|
||||||
|
"nodeName" : "结束",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1140,220|1140,220",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]"
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
|
||||||
|
"nodeName" : "百分之60票签",
|
||||||
|
"permissionFlag" : "${userList}",
|
||||||
|
"nodeRatio" : 60.000,
|
||||||
|
"coordinate" : "700,120|700,120",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
|
||||||
|
"nextNodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "750,120;860,120;860,195"
|
||||||
|
} ]
|
||||||
|
} ]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,368 +1,215 @@
|
|||||||
{
|
{
|
||||||
"nodeList": [
|
|
||||||
{
|
|
||||||
"nodeType": "0",
|
|
||||||
"nodeCode": "122b89a5-7c6f-40a3-aa09-7a263f902054",
|
|
||||||
"nodeName": "开始",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "240,300|240,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "122b89a5-7c6f-40a3-aa09-7a263f902054",
|
|
||||||
"nextNodeCode": "c25a0e86-fdd1-4f03-8e22-14db70389dbd",
|
|
||||||
"coordinate": "260,300;350,300"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "c25a0e86-fdd1-4f03-8e22-14db70389dbd",
|
|
||||||
"nodeName": "申请人",
|
|
||||||
"permissionFlag": "",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,file\"}]",
|
|
||||||
"coordinate": "400,300|400,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "c25a0e86-fdd1-4f03-8e22-14db70389dbd",
|
|
||||||
"nextNodeCode": "07ecda1d-7a0a-47b5-8a91-6186c9473742",
|
|
||||||
"coordinate": "450,300;510,300"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "2bfa3919-78cf-4bc1-b59b-df463a4546f9",
|
|
||||||
"nodeName": "副经理",
|
|
||||||
"permissionFlag": "role:1@@role:3@@role:4",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
|
||||||
"coordinate": "860,200|860,200",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "2bfa3919-78cf-4bc1-b59b-df463a4546f9",
|
|
||||||
"nextNodeCode": "394e1cc8-b8b2-4189-9f81-44448e88ac32",
|
|
||||||
"coordinate": "910,200;1000,200;1000,275"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "ec17f60e-94e0-4d96-a3ce-3417e9d32d60",
|
|
||||||
"nodeName": "组长",
|
|
||||||
"permissionFlag": "1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
|
||||||
"coordinate": "860,400|860,400",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "ec17f60e-94e0-4d96-a3ce-3417e9d32d60",
|
|
||||||
"nextNodeCode": "394e1cc8-b8b2-4189-9f81-44448e88ac32",
|
|
||||||
"coordinate": "910,400;1000,400;1000,325"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "07ecda1d-7a0a-47b5-8a91-6186c9473742",
|
|
||||||
"nodeName": "副组长",
|
|
||||||
"permissionFlag": "1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,transfer,copy,pop\"}]",
|
|
||||||
"coordinate": "560,300|560,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "07ecda1d-7a0a-47b5-8a91-6186c9473742",
|
|
||||||
"nextNodeCode": "48117e2c-6328-406b-b102-c4a9d115bb13",
|
|
||||||
"coordinate": "610,300;675,300"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "3",
|
|
||||||
"nodeCode": "48117e2c-6328-406b-b102-c4a9d115bb13",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "700,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": "default@@${leaveDays > 2}",
|
|
||||||
"skipName": "大于两天",
|
|
||||||
"nowNodeCode": "48117e2c-6328-406b-b102-c4a9d115bb13",
|
|
||||||
"nextNodeCode": "2bfa3919-78cf-4bc1-b59b-df463a4546f9",
|
|
||||||
"nextNodeType": "1",
|
|
||||||
"coordinate": "700,275;700,200;810,200|700,237"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": "spel@@#{@testLeaveServiceImpl.eval(#leaveDays)}",
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "48117e2c-6328-406b-b102-c4a9d115bb13",
|
|
||||||
"nextNodeCode": "ec17f60e-94e0-4d96-a3ce-3417e9d32d60",
|
|
||||||
"nextNodeType": "1",
|
|
||||||
"coordinate": "700,325;700,400;810,400"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "3",
|
|
||||||
"nodeCode": "394e1cc8-b8b2-4189-9f81-44448e88ac32",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "1000,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "394e1cc8-b8b2-4189-9f81-44448e88ac32",
|
|
||||||
"nextNodeCode": "9c93a195-cff2-4e17-ab0a-a4f264191496",
|
|
||||||
"coordinate": "1025,300;1130,300"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "9c93a195-cff2-4e17-ab0a-a4f264191496",
|
|
||||||
"nodeName": "经理会签",
|
|
||||||
"permissionFlag": "1@@3",
|
|
||||||
"nodeRatio": "100.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,pop,addSign,subSign\"}]",
|
|
||||||
"coordinate": "1180,300|1180,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "9c93a195-cff2-4e17-ab0a-a4f264191496",
|
|
||||||
"nextNodeCode": "a1a42056-afd1-4e90-88bc-36cbf5a66992",
|
|
||||||
"coordinate": "1230,300;1315,300"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "4",
|
|
||||||
"nodeCode": "a1a42056-afd1-4e90-88bc-36cbf5a66992",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "1340,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "a1a42056-afd1-4e90-88bc-36cbf5a66992",
|
|
||||||
"nextNodeCode": "fcfdd9f6-f526-4c1a-b71d-88afa31aebc5",
|
|
||||||
"coordinate": "1340,325;1340,400;1430,400"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "a1a42056-afd1-4e90-88bc-36cbf5a66992",
|
|
||||||
"nextNodeCode": "350dfa0c-a77c-4efa-8527-10efa02d8be4",
|
|
||||||
"coordinate": "1340,275;1340,200;1430,200"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "350dfa0c-a77c-4efa-8527-10efa02d8be4",
|
|
||||||
"nodeName": "总经理",
|
|
||||||
"permissionFlag": "3@@1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
|
||||||
"coordinate": "1480,200|1480,200",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "350dfa0c-a77c-4efa-8527-10efa02d8be4",
|
|
||||||
"nextNodeCode": "c36a46ef-04f9-463f-bad7-4b395c818519",
|
|
||||||
"coordinate": "1530,200;1640,200;1640,275"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "fcfdd9f6-f526-4c1a-b71d-88afa31aebc5",
|
|
||||||
"nodeName": "副总经理",
|
|
||||||
"permissionFlag": "1@@3",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
|
||||||
"coordinate": "1480,400|1480,400",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "fcfdd9f6-f526-4c1a-b71d-88afa31aebc5",
|
|
||||||
"nextNodeCode": "c36a46ef-04f9-463f-bad7-4b395c818519",
|
|
||||||
"coordinate": "1530,400;1640,400;1640,325"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "4",
|
|
||||||
"nodeCode": "c36a46ef-04f9-463f-bad7-4b395c818519",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "1640,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "c36a46ef-04f9-463f-bad7-4b395c818519",
|
|
||||||
"nextNodeCode": "3fcea762-b53a-4ae1-8365-7bec90444828",
|
|
||||||
"coordinate": "1665,300;1770,300"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "1",
|
|
||||||
"nodeCode": "3fcea762-b53a-4ae1-8365-7bec90444828",
|
|
||||||
"nodeName": "董事",
|
|
||||||
"permissionFlag": "1",
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": "",
|
|
||||||
"listenerPath": "",
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
|
||||||
"coordinate": "1820,300|1820,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": [
|
|
||||||
{
|
|
||||||
"skipType": "PASS",
|
|
||||||
"skipCondition": null,
|
|
||||||
"skipName": null,
|
|
||||||
"nowNodeCode": "3fcea762-b53a-4ae1-8365-7bec90444828",
|
|
||||||
"nextNodeCode": "9cfbfd3e-6c04-41d6-9fc2-6787a7d2cd31",
|
|
||||||
"coordinate": "1870,300;1960,300"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nodeType": "2",
|
|
||||||
"nodeCode": "9cfbfd3e-6c04-41d6-9fc2-6787a7d2cd31",
|
|
||||||
"nodeName": "结束",
|
|
||||||
"permissionFlag": null,
|
|
||||||
"nodeRatio": "0.000",
|
|
||||||
"anyNodeSkip": null,
|
|
||||||
"listenerType": null,
|
|
||||||
"listenerPath": null,
|
|
||||||
"formCustom": "N",
|
|
||||||
"formPath": null,
|
|
||||||
"ext": "[]",
|
|
||||||
"coordinate": "1980,300|1980,300",
|
|
||||||
"version": "1",
|
|
||||||
"skipList": []
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"flowCode" : "leave6",
|
"flowCode" : "leave6",
|
||||||
"flowName" : "请假申请-排他并行会签",
|
"flowName" : "请假申请-排他并行会签",
|
||||||
"modelValue": "CLASSICS",
|
"category" : "100",
|
||||||
"category": "103",
|
|
||||||
"version" : "1",
|
"version" : "1",
|
||||||
"formCustom" : "N",
|
"formCustom" : "N",
|
||||||
"formPath" : "/workflow/leaveEdit/index",
|
"formPath" : "/workflow/leaveEdit/index",
|
||||||
"listenerType": null,
|
"nodeList" : [ {
|
||||||
"listenerPath": null
|
"nodeType" : 0,
|
||||||
|
"nodeCode" : "122b89a5-7c6f-40a3-aa09-7a263f902054",
|
||||||
|
"nodeName" : "开始",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "240,300|240,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "122b89a5-7c6f-40a3-aa09-7a263f902054",
|
||||||
|
"nextNodeCode" : "c25a0e86-fdd1-4f03-8e22-14db70389dbd",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "260,300;350,300"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "c25a0e86-fdd1-4f03-8e22-14db70389dbd",
|
||||||
|
"nodeName" : "申请人",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "400,300|400,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "c25a0e86-fdd1-4f03-8e22-14db70389dbd",
|
||||||
|
"nextNodeCode" : "07ecda1d-7a0a-47b5-8a91-6186c9473742",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "450,300;510,300"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "2bfa3919-78cf-4bc1-b59b-df463a4546f9",
|
||||||
|
"nodeName" : "副经理",
|
||||||
|
"permissionFlag" : "role:1@@role:3@@role:4",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "860,200|860,200",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "2bfa3919-78cf-4bc1-b59b-df463a4546f9",
|
||||||
|
"nextNodeCode" : "394e1cc8-b8b2-4189-9f81-44448e88ac32",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "910,200;1000,200;1000,275"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "ec17f60e-94e0-4d96-a3ce-3417e9d32d60",
|
||||||
|
"nodeName" : "组长",
|
||||||
|
"permissionFlag" : "1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "860,400|860,400",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "ec17f60e-94e0-4d96-a3ce-3417e9d32d60",
|
||||||
|
"nextNodeCode" : "394e1cc8-b8b2-4189-9f81-44448e88ac32",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "910,400;1000,400;1000,325"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "07ecda1d-7a0a-47b5-8a91-6186c9473742",
|
||||||
|
"nodeName" : "副组长",
|
||||||
|
"permissionFlag" : "1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "560,300|560,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,transfer,copy,pop\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "07ecda1d-7a0a-47b5-8a91-6186c9473742",
|
||||||
|
"nextNodeCode" : "48117e2c-6328-406b-b102-c4a9d115bb13",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "610,300;675,300"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 3,
|
||||||
|
"nodeCode" : "48117e2c-6328-406b-b102-c4a9d115bb13",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "700,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "48117e2c-6328-406b-b102-c4a9d115bb13",
|
||||||
|
"nextNodeCode" : "2bfa3919-78cf-4bc1-b59b-df463a4546f9",
|
||||||
|
"skipName" : "大于两天",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"skipCondition" : "default@@${leaveDays > 2}",
|
||||||
|
"coordinate" : "700,275;700,200;810,200|700,237"
|
||||||
|
}, {
|
||||||
|
"nowNodeCode" : "48117e2c-6328-406b-b102-c4a9d115bb13",
|
||||||
|
"nextNodeCode" : "ec17f60e-94e0-4d96-a3ce-3417e9d32d60",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"skipCondition" : "spel@@#{@testLeaveServiceImpl.eval(#leaveDays)}",
|
||||||
|
"coordinate" : "700,325;700,400;810,400"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 3,
|
||||||
|
"nodeCode" : "394e1cc8-b8b2-4189-9f81-44448e88ac32",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1000,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "394e1cc8-b8b2-4189-9f81-44448e88ac32",
|
||||||
|
"nextNodeCode" : "9c93a195-cff2-4e17-ab0a-a4f264191496",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1025,300;1130,300"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "9c93a195-cff2-4e17-ab0a-a4f264191496",
|
||||||
|
"nodeName" : "经理会签",
|
||||||
|
"permissionFlag" : "1@@3",
|
||||||
|
"nodeRatio" : 100.000,
|
||||||
|
"coordinate" : "1180,300|1180,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination,pop,addSign,subSign\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "9c93a195-cff2-4e17-ab0a-a4f264191496",
|
||||||
|
"nextNodeCode" : "a1a42056-afd1-4e90-88bc-36cbf5a66992",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1230,300;1315,300"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 4,
|
||||||
|
"nodeCode" : "a1a42056-afd1-4e90-88bc-36cbf5a66992",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1340,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "a1a42056-afd1-4e90-88bc-36cbf5a66992",
|
||||||
|
"nextNodeCode" : "fcfdd9f6-f526-4c1a-b71d-88afa31aebc5",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1340,325;1340,400;1430,400"
|
||||||
|
}, {
|
||||||
|
"nowNodeCode" : "a1a42056-afd1-4e90-88bc-36cbf5a66992",
|
||||||
|
"nextNodeCode" : "350dfa0c-a77c-4efa-8527-10efa02d8be4",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1340,275;1340,200;1430,200"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "350dfa0c-a77c-4efa-8527-10efa02d8be4",
|
||||||
|
"nodeName" : "总经理",
|
||||||
|
"permissionFlag" : "3@@1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1480,200|1480,200",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "350dfa0c-a77c-4efa-8527-10efa02d8be4",
|
||||||
|
"nextNodeCode" : "c36a46ef-04f9-463f-bad7-4b395c818519",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1530,200;1640,200;1640,275"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "fcfdd9f6-f526-4c1a-b71d-88afa31aebc5",
|
||||||
|
"nodeName" : "副总经理",
|
||||||
|
"permissionFlag" : "1@@3",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1480,400|1480,400",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "fcfdd9f6-f526-4c1a-b71d-88afa31aebc5",
|
||||||
|
"nextNodeCode" : "c36a46ef-04f9-463f-bad7-4b395c818519",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1530,400;1640,400;1640,325"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 4,
|
||||||
|
"nodeCode" : "c36a46ef-04f9-463f-bad7-4b395c818519",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1640,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "c36a46ef-04f9-463f-bad7-4b395c818519",
|
||||||
|
"nextNodeCode" : "3fcea762-b53a-4ae1-8365-7bec90444828",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1665,300;1770,300"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 1,
|
||||||
|
"nodeCode" : "3fcea762-b53a-4ae1-8365-7bec90444828",
|
||||||
|
"nodeName" : "董事",
|
||||||
|
"permissionFlag" : "1",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1820,300|1820,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[{\"code\":\"ButtonPermissionEnum\",\"value\":\"back,termination\"}]",
|
||||||
|
"skipList" : [ {
|
||||||
|
"nowNodeCode" : "3fcea762-b53a-4ae1-8365-7bec90444828",
|
||||||
|
"nextNodeCode" : "9cfbfd3e-6c04-41d6-9fc2-6787a7d2cd31",
|
||||||
|
"skipType" : "PASS",
|
||||||
|
"coordinate" : "1870,300;1960,300"
|
||||||
|
} ]
|
||||||
|
}, {
|
||||||
|
"nodeType" : 2,
|
||||||
|
"nodeCode" : "9cfbfd3e-6c04-41d6-9fc2-6787a7d2cd31",
|
||||||
|
"nodeName" : "结束",
|
||||||
|
"nodeRatio" : 0.000,
|
||||||
|
"coordinate" : "1980,300|1980,300",
|
||||||
|
"formCustom" : "N",
|
||||||
|
"ext" : "[]"
|
||||||
|
} ]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user