bpm大升级
Some checks failed
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
yudao-ui-admin CI / build (14.x) (push) Has been cancelled
yudao-ui-admin CI / build (16.x) (push) Has been cancelled

This commit is contained in:
pch 2025-01-17 22:30:18 +08:00
parent 909d40754a
commit b606c2c873
12 changed files with 42 additions and 35 deletions

View File

@ -127,7 +127,7 @@ public class BpmModelController {
} }
byte[] bpmnBytes = modelService.getModelBpmnXML(id); byte[] bpmnBytes = modelService.getModelBpmnXML(id);
BpmSimpleModelNodeVO simpleModel = modelService.getSimpleModel(id); BpmSimpleModelNodeVO simpleModel = modelService.getSimpleModel(id);
return success(BpmModelConvert.INSTANCE.buildModel(model, bpmnBytes, simpleModel)); return success( BpmModelConvert.INSTANCE.buildModel(model, bpmnBytes, simpleModel) );
} }
@PostMapping("/create") @PostMapping("/create")

View File

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.number.NumberUtils; import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.*; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.*;
import cn.iocoder.yudao.module.bpm.convert.task.BpmProcessInstanceConvert; import cn.iocoder.yudao.module.bpm.convert.task.BpmProcessInstanceConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmCategoryDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmCategoryDO;

View File

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.number.NumberUtils; import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*;
import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert; import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;

View File

@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.home.framework.datapermission.config;
import cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer; import cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer;
import cn.iocoder.yudao.module.home.dal.dataobject.bgyp.BgypDO; import cn.iocoder.yudao.module.home.dal.dataobject.bgyp.BgypDO;
import cn.iocoder.yudao.module.home.dal.dataobject.clgl.ClglDO; import cn.iocoder.yudao.module.home.dal.dataobject.clgl.ClglDO;
import cn.iocoder.yudao.module.home.dal.dataobject.fwgl.FwglDO;
import cn.iocoder.yudao.module.home.dal.dataobject.hygl.HyglDO; import cn.iocoder.yudao.module.home.dal.dataobject.hygl.HyglDO;
import cn.iocoder.yudao.module.home.dal.dataobject.jbgl.JbglDO; import cn.iocoder.yudao.module.home.dal.dataobject.jbgl.JbglDO;
import cn.iocoder.yudao.module.home.dal.dataobject.kqgl.KqglDO; import cn.iocoder.yudao.module.home.dal.dataobject.kqgl.KqglDO;
@ -30,10 +31,12 @@ public class homeDataPermissionConfiguration {
rule.addDeptColumn(JbglDO.class, "dept_id"); //加班管理 rule.addDeptColumn(JbglDO.class, "dept_id"); //加班管理
rule.addDeptColumn(KqglDO.class, "dept_id"); //考勤管理 rule.addDeptColumn(KqglDO.class, "dept_id"); //考勤管理
rule.addDeptColumn(XjglDO.class, "dept_id"); //销假管理 rule.addDeptColumn(XjglDO.class, "dept_id"); //销假管理
rule.addDeptColumn(FwglDO.class, "dept_id"); //发文管理
// rule.addDeptColumn(DeptDO.class, "id"); // rule.addDeptColumn(DeptDO.class, "id");
// user // user
// AdminUserDO 是想要使用权限的表 id 是对那个字段生效 比如 这个表 user_id 使用户id 那就使用 user_id // AdminUserDO 是想要使用权限的表 id 是对那个字段生效 比如 这个表 user_id 使用户id 那就使用 user_id
rule.addUserColumn(QjglDO.class, "user_id"); rule.addUserColumn(QjglDO.class, "user_id");
rule.addUserColumn(FwglDO.class, "user_id");
}; };
} }
} }

View File

@ -65,6 +65,7 @@ public class QjglServiceImpl implements QjglService {
// 发起 BPM 流程 // 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>(); Map<String, Object> processInstanceVariables = new HashMap<>();
processInstanceVariables.put("day", createReqVO.getDay() );
processInstanceId = processInstanceApi.createProcessInstance(userId, processInstanceId = processInstanceApi.createProcessInstance(userId,
new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY) new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY)
.setVariables(processInstanceVariables).setBusinessKey(String.valueOf(qjgl.getId())) .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(qjgl.getId()))

View File

@ -230,21 +230,7 @@ const updateForm = async () => {
} }
} }
defineExpose({updateForm}) defineExpose({updateForm})
/** 重置表单 */
const resetForm = () => {
formData.value = {
#foreach ($column in $columns)
#if ($column.createOperation || $column.updateOperation)
#if ($column.htmlType == "checkbox")
$column.javaField: [],
#else
$column.javaField: undefined,
#end
#end
#end
}
formRef.value?.resetFields()
}
## 特殊:树表专属逻辑 ## 特殊:树表专属逻辑
#if ( $table.templateType == 2 ) #if ( $table.templateType == 2 )

View File

@ -45,10 +45,11 @@ public interface DeptApi {
* @param ids 部门编号数组 * @param ids 部门编号数组
* @return 部门 Map * @return 部门 Map
*/ */
default Map<Long, DeptRespDTO> getDeptMap(Collection<Long> ids) { Map<Long, DeptRespDTO> getDeptMap(Collection<Long> ids);
List<DeptRespDTO> list = getDeptList(ids); // default Map<Long, DeptRespDTO> getDeptMap(Collection<Long> ids) {
return CollectionUtils.convertMap(list, DeptRespDTO::getId); // List<DeptRespDTO> list = getDeptList(ids);
} // return CollectionUtils.convertMap(list, DeptRespDTO::getId);
// }
/** /**
* 获得指定部门的所有子部门 * 获得指定部门的所有子部门

View File

@ -61,10 +61,11 @@ public interface AdminUserApi {
* @param ids 用户编号数组 * @param ids 用户编号数组
* @return 用户 Map * @return 用户 Map
*/ */
default Map<Long, AdminUserRespDTO> getUserMap(Collection<Long> ids) { Map<Long, AdminUserRespDTO> getUserMap(Collection<Long> ids);
List<AdminUserRespDTO> users = getUserList(ids); // default Map<Long, AdminUserRespDTO> getUserMap(Collection<Long> ids) {
return CollectionUtils.convertMap(users, AdminUserRespDTO::getId); // List<AdminUserRespDTO> users = getUserList(ids);
} // return CollectionUtils.convertMap(users, AdminUserRespDTO::getId);
// }
/** /**
* 校验用户是否有效如下情况视为无效 * 校验用户是否有效如下情况视为无效

View File

@ -1,6 +1,8 @@
package cn.iocoder.yudao.module.system.api.dept; package cn.iocoder.yudao.module.system.api.dept;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
import cn.iocoder.yudao.module.system.service.dept.DeptService; import cn.iocoder.yudao.module.system.service.dept.DeptService;
@ -10,6 +12,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 部门 API 实现类 * 部门 API 实现类
@ -38,7 +41,12 @@ public class DeptApiImpl implements DeptApi {
public void validateDeptList(Collection<Long> ids) { public void validateDeptList(Collection<Long> ids) {
deptService.validateDeptList(ids); deptService.validateDeptList(ids);
} }
@Override
@DataPermission(enable = false)
public Map<Long, DeptRespDTO> getDeptMap(Collection<Long> ids) {
List<DeptRespDTO> list = getDeptList(ids);
return CollectionUtils.convertMap(list, DeptRespDTO::getId);
}
@Override @Override
public List<DeptRespDTO> getChildDeptList(Long id) { public List<DeptRespDTO> getChildDeptList(Long id) {
List<DeptDO> childDeptList = deptService.getChildDeptList(id); List<DeptDO> childDeptList = deptService.getChildDeptList(id);

View File

@ -2,7 +2,9 @@ package cn.iocoder.yudao.module.system.api.user;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
@ -11,10 +13,7 @@ import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
@ -36,7 +35,12 @@ public class AdminUserApiImpl implements AdminUserApi {
AdminUserDO user = userService.getUser(id); AdminUserDO user = userService.getUser(id);
return BeanUtils.toBean(user, AdminUserRespDTO.class); return BeanUtils.toBean(user, AdminUserRespDTO.class);
} }
@Override
@DataPermission(enable = false)
public Map<Long, AdminUserRespDTO> getUserMap(Collection<Long> ids) {
List<AdminUserRespDTO> users = getUserList(ids);
return CollectionUtils.convertMap(users, AdminUserRespDTO::getId);
}
@Override @Override
public List<AdminUserRespDTO> getUserListBySubordinate(Long id) { public List<AdminUserRespDTO> getUserListBySubordinate(Long id) {
// 1.1 获取用户负责的部门 // 1.1 获取用户负责的部门

View File

@ -7,7 +7,7 @@ spring:
autoconfigure: autoconfigure:
exclude: exclude:
- com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源
# - org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration # 默认 local 环境,不开启 Quartz 的自动配置 想要开启注释或者删除这一行即可 - org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration # 默认 local 环境,不开启 Quartz 的自动配置 想要开启注释或者删除这一行即可
- de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置 - de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置
- de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置 - de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置
- de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置
@ -46,7 +46,7 @@ spring:
primary: master primary: master
datasource: datasource:
master: master:
url: jdbc:mysql://192.168.1.28:3306/yudao-vue?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 url: jdbc:mysql://140.143.164.40:3306/yudao-oa2?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
# url: jdbc:mysql://192.168.1.28:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 # url: jdbc:mysql://192.168.1.28:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
# url: jdbc:mysql://192.168.45.131:3306/ruoyi-vue-pro?useSSL=true&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # MySQL Connector/J 5.X 连接的示例 # url: jdbc:mysql://192.168.45.131:3306/ruoyi-vue-pro?useSSL=true&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # MySQL Connector/J 5.X 连接的示例
# url: jdbc:postgresql://127.0.0.1:5432/ruoyi-vue-pro # PostgreSQL 连接的示例 # url: jdbc:postgresql://127.0.0.1:5432/ruoyi-vue-pro # PostgreSQL 连接的示例
@ -71,9 +71,9 @@ spring:
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
redis: redis:
host: 192.168.1.28 # 地址140.143.164.40 host: 140.143.164.40 # 地址140.143.164.40
port: 6379 # 端口 port: 6379 # 端口
database: 0 # 数据库索引 database: 10 # 数据库索引
password: 123456 password: 123456
# password: dev # 密码,建议生产环境开启 # password: dev # 密码,建议生产环境开启

View File

@ -57,8 +57,9 @@ flowable:
# 1. false: 默认值Flowable 启动时,对比数据库表中保存的版本,如果不匹配。将抛出异常 # 1. false: 默认值Flowable 启动时,对比数据库表中保存的版本,如果不匹配。将抛出异常
# 2. true: 启动时会对数据库中所有表进行更新操作,如果表存在,不做处理,反之,自动创建表 # 2. true: 启动时会对数据库中所有表进行更新操作,如果表存在,不做处理,反之,自动创建表
# 3. create_drop: 启动时自动创建表,关闭时自动删除表 # 3. create_drop: 启动时自动创建表,关闭时自动删除表
# 4. drop_create: 启动时,删除旧表,再创建新表 # 4. drop_create: 启动时,删除旧表,再创建新表
database-schema-update: true # 设置为 false可通过 https://github.com/flowable/flowable-sql 初始化 database-schema-update: false # 设置为 false可通过 https://github.com/flowable/flowable-sql 初始化
db-history-used: true # flowable6 默认 true 生成信息表,无需手动设置 db-history-used: true # flowable6 默认 true 生成信息表,无需手动设置
check-process-definitions: false # 设置为 false禁用 /resources/processes 自动部署 BPMN XML 流程 check-process-definitions: false # 设置为 false禁用 /resources/processes 自动部署 BPMN XML 流程
history-level: audit # full保存历史数据的最高级别可保存全部流程相关细节包括流程流转各节点参数 history-level: audit # full保存历史数据的最高级别可保存全部流程相关细节包括流程流转各节点参数