一、工程简介
一款易于应用的工作流设计器,内置丰盛的 API 保障工作流失常运行,数据库操作框架为 mybatis-plus
二、装置
下载:https://gitee.com/gs_work/eas…
进入启动器目录
cd easy-process-boot-starter
通过 Maven 打包
装置到本地 Maven 仓库:
#jar 包形式装置(装置装置记得用工程下的 pom 文件笼罩本地仓库的)mvn install:install-file -Dfile=jar 包门路 -DgroupId=com.shallow.universe -DartifactId=process-spring-boot-starter -Dversion=1.0.0 -Dpackaging=jar
# 在文件夹中装置
mvn clean install
导入启动器 resource/mysql 目录下的 process.sql 文件到本人的数据库
三、配置
创立 SpringBoot 工程引入依赖
<dependency>
<groupId>com.shallow.universe</groupId>
<artifactId>easy-process-boot-starter</artifactId>
<version>1.0.0</version>
</dependency>
配置文件(application.yml)配置流程引擎参数(可选)
# 后置处理器扫描门路,流程设计重置是否同步工作 ID
shallow:
process:
task-processor-packages: com.example.processor
replace-task-if-reset: true
启动类开启流程设计(@EnableProcessDesign)
@SpringBootApplication
@EnableProcessDesign
@MapperScan(basePackages = {"com.example.mapper"})
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);
}
}
四、应用步骤
1. 拜访 http://host:port/shallow-ui/p…
2. 在流程设计模块设计流程并保留
3. 用 @ProcessEntity 注解标注要做流程的表名曾经要开的流程名称,用 @PrimaryKey 注解标注出主键
@ProcessEntity(table = "leaves", process = "销假流程")
@Data
@Accessors(chain = true)
public class Leaves {
@PrimaryKey
@TableId(value = "sid", type = IdType.AUTO)
private Long sid;
@TableField(value = "content")
private String content;
@TableField(value = "days")
private String days;
}
4. 调用办法开启流程,gs 为用户名,soft 为部门(可选)
@SpringBootTest(classes = Application.class)
public class ApplicationTests {
@Autowired
private ProcessEngine processEngine;
@Autowired
private LeavesService leavesService;
@Test
public void test02() {Leaves leaves = new Leaves().setContent("123").setDays("2");
leavesService.save(leaves);
processEngine.taskServiceInstance().runTask(leaves, "gs", "soft");
}
5. 调用办法进行审批
@Test
public void test04() {TaskStep taskStep = new TaskStep();
taskStep.setUser("guest").setRole("经理")
.setTaskId(1L).setOpinion(ProcessConstant.APPROVE_ALLOW_STATUS)
.setReason("批准").setStageId(1L);
processEngine.taskStepServiceInstance().nextStep(taskStep);
}
6. 查问本人的审批单
@Test
public void test03() {System.out.println(processEngine.taskServiceInstance().approveUser("admin").page(1, 5).getRecords());
System.out.println(processEngine.taskServiceInstance().approveRole("主管").executeQuery());
System.out.println(processEngine.taskServiceInstance().submitBy("gs").executeQuery());
}