# 任务中心
# 接口说明
# 任务查询接口
序号 | 方法名称 | 接口类型 | url | 描述 |
---|---|---|---|---|
1 | com.primeton.bps.taskcenter.core.web.TaskCenterController#queryTodoTasksWithPage | GET | /api/taskcenter/common/page/todos | 分页查询待办或者逾期待办 |
2 | com.primeton.bps.taskcenter.core.web.TaskCenterController#queryDoneTasksWithPage | GET | /api/taskcenter/common/page/dones | 分页查询已办或者归档已办 |
# 接口参数及返回值说明
com.primeton.bps.taskcenter.core.web.TaskCenterController#queryTodoTasksWithPage 分页查询待办或者逾期待办
请求参数:
taskName 任务名称
taskState 任务状态
sysName 系统名称
createTimeStart 创建时间区间开始时间
createTimeEnd 创建时间区间结束时间
page 页码
pageSize 每页条数
overdue 查询待办(false)或逾期待办(true),默认false
返回值:
[
{
"pkId": "1",
"taskId": "462",
"taskName": "人工活动1",
"taskPcUrl": "http://localhost:8080/#/module/bfp/page/bfp_proc_framework?pageType=handle&workItemID=462&appName=AFCENTER",
"taskMobileUrl": "http://localhost:8080/#/module/bfp/page/bfp_proc_framework?pageType=handle&workItemID=462&appName=AFCENTER",
"taskState": "10",
"userId": "1",
"sysId": "1",
"sysName": "bps-server",
"createTime": "2024-01-04 10:06:38",
"receivingTime": "2024-01-04 09:59:12",
"todoTimeLimit": null,
"pressNum": 0,
"lastPressMessage": null,
"pinToTop": false,
"todoExtend1": null,
"todoExtend2": null,
"todoExtend3": null,
"todoExtend4": null,
"todoExtend5": null
}
]
com.primeton.bps.taskcenter.core.web.TaskCenterController#queryDoneTasksWithPage 分页查询已办或者归档已办
请求参数:
createTimeEnd 创建时间区间结束时间
createTimeStart 创建时间区间开始时间
overdue 查询待办(false)或逾期待办(true),默认false
page 页码
pageSize 每页条数
sysName 系统名称
taskName 任务名称
taskState 任务状态
返回值:
[
{
"pkId": "21",
"taskId": "461",
"taskName": "人工活动",
"taskPcUrl": "http://localhost:8080/#/module/bfp/page/bfp_proc_framework?pageType=view&workItemID=461&appName=AFCENTER",
"taskMobileUrl": "http://localhost:8080/#/module/bfp/page/bfp_proc_framework?pageType=view&workItemID=461&appName=AFCENTER",
"taskState": "12",
"userId": "1",
"sysId": "1",
"sysName": "bps-server",
"createTime": "2024-01-04 10:06:38",
"receivingTime": "2024-01-04 09:59:12",
"finshTime": "2024-01-04 09:59:12",
"doneOverdeuTime": null,
"pressNum": 0,
"lastPressMessage": null,
"pinToTop": false,
"doneExtend1": null,
"doneExtend2": null,
"doneExtend3": null,
"doneExtend4": null,
"doneExtend5": null
}
]
# 任务推送接口
序号 | 方法名称 | 接口类型 | url | 描述 |
---|---|---|---|---|
1 | com.primeton.bps.taskcenter.core.web.TaskPushController#insertTodoTasks | POST | /api/taskcenter/push-task/todo | 推送待办任务 |
2 | com.primeton.bps.taskcenter.core.web.TaskPushController#insertDoneTasks | POST | /api/taskcenter/push-task/done | 推送已办任务 |
3 | com.primeton.bps.taskcenter.core.web.TaskPushController#deleteTasks | DELETE | /api/taskcenter/push-task/task | 删除任务 |
4 | com.primeton.bps.taskcenter.core.web.TaskPushController#updateTaskTodo | PUT | /api/taskcenter/push-task/task | 更新待办及逾期待办,任务名称、任务状态、催办次数和催办消息 |
# 接口参数及返回值说明
com.primeton.bps.taskcenter.core.web.TaskPushController#insertTodoTasks 推送待办任务
请求参数:
{
"tasks":[
{
"createTime": "2024-01-04T06:12:35.994Z",
"lastPressMessage": "string",
"pinToTop": true,
"pressNum": 0,
"receivingTime": "2024-01-04T06:12:35.994Z",
"sysId": "string", //必填
"sysName": "string", //必填
"taskId": "string", //必填
"taskMobileUrl": "string",
"taskName": "string", //必填
"taskPcUrl": "string", //必填
"taskState": "string",
"todoExtend1": "string",
"todoExtend2": "string",
"todoExtend3": "string",
"todoExtend4": "string",
"todoExtend5": "string",
"todoTimeLimit": "2024-01-04T06:12:35.994Z",
"userId": "string" //必填
}
]
}
其中必填项已经标注,其他都是选填项,建议将时间等必要信息都带上,以便于任务中心查询使用
返回值:
{
"code":"1002",
"message":"收到任务总数xx,成功创建待办任务数xx,taskId或者sysId缺失任务数xx,taskId & userId重复任务数xx"
}
注释:
插入待办会校验taskId&sysId,同时会校验同一个人的待办是否会重复,结果会返回给调用方
com.primeton.bps.taskcenter.core.web.TaskPushController#insertDoneTasks 推送已办任务
请求参数:
{
"tasks":[
{
"archiveTime": "2024-01-04T02:56:33.396Z",
"createTime": "2024-01-04T02:56:33.396Z",
"doneExtend1": "string",
"doneExtend2": "string",
"doneExtend3": "string",
"doneExtend4": "string",
"doneExtend5": "string",
"doneOverdueTime": "2024-01-04T02:56:33.396Z",
"finishTime": "2024-01-04T02:56:33.396Z",
"lastPressMessage": "string",
"pinToTop": true,
"pressNum": 0,
"receivingTime": "2024-01-04T02:56:33.396Z",
"sysId": "string", //必填
"sysName": "string", //必填
"taskId": "string", //必填
"taskMobileUrl": "string",
"taskName": "string", //必填
"taskPcUrl": "string", //必填
"taskState": "string",
"userId": "string" //必填
}
]
}
其中必填项已经标注,其他都是选填项,建议将时间等必要信息都带上,以便于任务中心查询使用
返回值:
{
"code":"1003",
"message":"收到任务总数xx,成功创建已办任务数xx,taskId或者sysId缺失任务数xx,taskId & userId重复任务数xx"
}
注释:
插入以办会校验taskId&sysId,同时会校验同一个人的待办是否会重复,结果会返回给调用方
com.primeton.bps.taskcenter.core.web.TaskPushController#deleteTasks 删除任务
请求参数:
{
"sysId": "", //系统id 必填
"taskIds": [ //任务ID列表 必填
""
]
}
返回值:
{
"code":"1000",
"message":"sucess"
}
com.primeton.bps.taskcenter.core.web.TaskPushController#updateTaskTodo 更新待办,任务名称、任务状态、催办次数和催办消息、超时时间
请求参数:
{
"tasks":[
{
"createTime": "2024-01-08T06:43:33.766Z",
"lastPressMessage": "string",
"pinToTop": true,
"pressNum": 0,
"processInstName": "string",
"receivingTime": "2024-01-08T06:43:33.766Z",
"sortBy": 0,
"sysId": "string", //必填
"sysName": "string",
"taskId": "string", //必填
"taskMobileUrl": "string",
"taskName": "string",
"taskPcUrl": "string",
"taskState": "string",
"todoExtend1": "string",
"todoExtend2": "string",
"todoExtend3": "string",
"todoExtend4": "string",
"todoExtend5": "string",
"todoTimeLimit": "2024-01-08T06:43:33.766Z",
"userId": "string" //必填
}
]
}
其中必填项已经标注,其他都是选填项,建议将时间等必要信息都带上,以便于任务中心查询使用
返回值:
{
"code":"1003",
"message":"收到任务总数xx,更新待办任务数xx,taskId或者sysId缺失任务数xx"
}
注释:
更新待办会校验taskId&sysId,结果会返回给调用方
# 数据库模型
# taskcenter_sys[任务系统表]
序号 | 列名 | 类型 | 长度 | 是否为空 | 默认值 | 小数位 | 注释 |
---|---|---|---|---|---|---|---|
1 | sys_id | varchar(64) | 64 | 否 | -- | 0 | 系统id |
2 | sys_name | varchar(255) | 255 | 否 | -- | 0 | 系统名称 |
3 | sys_dict_type_code | varchar(128) | 128 | 是 | -- | 0 | 系统状态字典项类型编码 |
4 | sys_desc | varchar(255) | 255 | 是 | -- | 0 | 系统说明 |
5 | extend1 | varchar(255) | 255 | 是 | -- | 0 | 扩展字段 |
6 | extend2 | varchar(255) | 255 | 是 | -- | 0 | 扩展字段 |
7 | extend3 | varchar(255) | 255 | 是 | -- | 0 | 扩展字段 |
8 | extend4 | varchar(255) | 255 | 是 | -- | 0 | 扩展字段 |
9 | extend5 | varchar(255) | 255 | 是 | -- | 0 | 扩展字段 |
# taskcenter_task_done[已办表]
序号 | 列名 | 类型 | 长度 | 是否为空 | 默认值 | 小数位 | 注释 |
---|---|---|---|---|---|---|---|
1 | pk_id | varchar(64) | 64 | 否 | -- | 0 | 主键 |
2 | task_id | varchar(64) | 64 | 否 | -- | 0 | 任务id |
3 | task_name | varchar(255) | 255 | 否 | -- | 0 | 任务名称 |
4 | process_inst_name | varchar(256) | 256 | 是 | -- | 0 | 流程实例名称 |
5 | task_pc_url | varchar(255) | 255 | 否 | -- | 0 | 任务查看url |
6 | task_mobile_url | varchar(255) | 255 | 是 | -- | 0 | 移动端任务查看url |
7 | task_state | varchar(10) | 10 | 是 | -- | 0 | 业务状态,存储字典编码,前端确认显示字典 |
8 | user_id | varchar(64) | 64 | 否 | -- | 0 | 参与者id |
9 | sys_id | varchar(64) | 64 | 否 | -- | 0 | 系统id |
10 | sys_name | varchar(255) | 255 | 否 | -- | 0 | 系统名称 |
11 | create_time | datetime | -- | 是 | -- | 0 | 任务创建时间 |
12 | receiving_time | datetime | -- | 是 | -- | 0 | 任务接收时间 |
13 | finsh_time | datetime | -- | 是 | -- | 0 | 任务完成时间 |
14 | done_overdeu_time | datetime | -- | 是 | -- | 0 | 已办任务超时时间 |
15 | press_num | int(11) | 11 | 是 | -- | 0 | 催办次数 |
16 | last_press_message | varchar(255) | 255 | 是 | -- | 0 | 催办消息,只记录最新的 |
17 | pin_to_top | tinyint(1) | 1 | 否 | 0 | 0 | 是否置顶(默认是0不置顶,否则是1置顶) |
18 | done_extend1 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
19 | done_extend2 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
20 | done_extend3 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
21 | done_extend4 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
22 | done_extend5 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
# taskcenter_task_done_archive[归档表]
序号 | 列名 | 类型 | 长度 | 是否为空 | 默认值 | 小数位 | 注释 |
---|---|---|---|---|---|---|---|
1 | pk_id | varchar(64) | 64 | 否 | -- | 0 | 主键 |
2 | task_id | varchar(64) | 64 | 否 | -- | 0 | 任务id |
3 | task_name | varchar(255) | 255 | 否 | -- | 0 | 任务名称 |
4 | process_inst_name | varchar(256) | 256 | 是 | -- | 0 | 流程实例名称 |
5 | task_pc_url | varchar(255) | 255 | 否 | -- | 0 | 任务处理url |
6 | task_mobile_url | varchar(255) | 255 | 是 | -- | 0 | 任务处理url |
7 | task_state | varchar(10) | 10 | 是 | -- | 0 | 业务状态,存储字典编码,前端确认显示字典 |
8 | user_id | varchar(64) | 64 | 否 | -- | 0 | 参与者id |
9 | sys_id | varchar(64) | 64 | 否 | -- | 0 | 系统id |
10 | sys_name | varchar(255) | 255 | 否 | -- | 0 | 系统名称 |
11 | create_time | datetime | -- | 是 | -- | 0 | 任务创建时间 |
12 | receiving_time | datetime | -- | 是 | -- | 0 | 任务接收时间 |
13 | finsh_time | datetime | -- | 是 | -- | 0 | 任务完成时间 |
14 | done_overdeu_time | datetime | -- | 是 | -- | 0 | 已办任务超期时间 |
15 | archive_time | datetime | -- | 是 | -- | 0 | 归档时间 |
16 | press_num | int(11) | 11 | 是 | -- | 0 | 催办次数 |
17 | last_press_message | varchar(255) | 255 | 是 | -- | 0 | 催办消息,只记录最新的 |
18 | pin_to_top | tinyint(1) | 1 | 否 | 0 | 0 | 是否置顶(默认是0不置顶,否则是1置顶) |
19 | done_extend1 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
20 | done_extend2 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
21 | done_extend3 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
22 | done_extend4 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
23 | done_extend5 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
# taskcenter_task_todo[待办任务表]
序号 | 列名 | 类型 | 长度 | 是否为空 | 默认值 | 小数位 | 注释 |
---|---|---|---|---|---|---|---|
1 | pk_id | varchar(64) | 64 | 否 | -- | 0 | 主键 |
2 | task_id | varchar(64) | 64 | 否 | -- | 0 | 任务id |
3 | task_name | varchar(255) | 255 | 否 | -- | 0 | 任务名称 |
4 | process_inst_name | varchar(256) | 256 | 是 | -- | 0 | 流程实例名称 |
5 | task_pc_url | varchar(255) | 255 | 否 | -- | 0 | 任务处理url |
6 | task_mobile_url | varchar(255) | 255 | 是 | -- | 0 | 移动端任务处理url |
7 | task_state | varchar(10) | 10 | 是 | -- | 0 | 业务状态,存储字典编码,前端确认显示字典 |
8 | user_id | varchar(64) | 64 | 否 | -- | 0 | 参与者id |
9 | sys_id | varchar(64) | 64 | 否 | -- | 0 | 系统id |
10 | sys_name | varchar(255) | 255 | 否 | -- | 0 | 系统名称 |
11 | create_time | datetime | -- | 是 | -- | 0 | 任务创建时间 |
12 | receiving_time | datetime | -- | 是 | -- | 0 | 任务接收时间 |
13 | todo_time_limit | datetime | -- | 是 | -- | 0 | 待办任务超时时间 |
14 | press_num | int(11) | 11 | 是 | -- | 0 | 催办次数 |
15 | last_press_message | varchar(255) | 255 | 是 | -- | 0 | 催办消息,只记录最新的 |
16 | pin_to_top | tinyint(1) | 1 | 否 | 0 | 0 | 是否置顶(默认是0不置顶,否则是1置顶) |
17 | sort_by | int(11) | 11 | 是 | 0 | 0 | 排序字段 |
18 | todo_extend1 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
19 | todo_extend2 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
20 | todo_extend3 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
21 | todo_extend4 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
22 | todo_extend5 | varchar(255) | 255 | 是 | -- | 0 | 扩展属性 |
# 数据库脚本
任务中心数据库脚本
create table taskcenter_sys
(
sys_id varchar(64) not null comment '系统id'
primary key,
sys_name varchar(255) not null comment '系统名称',
sys_dict_type_code varchar(128) null comment '系统状态字典项类型编码',
sys_desc varchar(255) null comment '系统说明',
extend1 varchar(255) null comment '扩展字段',
extend2 varchar(255) null comment '扩展字段',
extend3 varchar(255) null comment '扩展字段',
extend4 varchar(255) null comment '扩展字段',
extend5 varchar(255) null comment '扩展字段'
)
comment '任务系统表';
create table taskcenter_task_done
(
pk_id varchar(64) not null comment '主键'
primary key,
task_id varchar(64) not null comment '任务id',
task_name varchar(255) not null comment '任务名称',
process_inst_name varchar(256) null comment '流程实例名称',
task_pc_url varchar(255) not null comment '任务查看url',
task_mobile_url varchar(255) null comment '移动端任务查看url',
task_state varchar(10) null comment '业务状态,存储字典编码,前端确认显示字典',
user_id varchar(64) not null comment '参与者id',
sys_id varchar(64) not null comment '系统id',
sys_name varchar(255) not null comment '系统名称',
create_time datetime null comment '任务创建时间',
receiving_time datetime null comment '任务接收时间',
finsh_time datetime null comment '任务完成时间',
done_overdeu_time datetime null comment '已办任务超时时间,任务超时后才会有值',
press_num int null comment '催办次数',
last_press_message varchar(255) null comment '催办消息,只记录最新的',
pin_to_top tinyint(1) default 0 not null comment '是否置顶(默认是0不置顶,否则是1置顶)',
done_extend1 varchar(255) null comment '扩展属性',
done_extend2 varchar(255) null comment '扩展属性',
done_extend3 varchar(255) null comment '扩展属性',
done_extend4 varchar(255) null comment '扩展属性',
done_extend5 varchar(255) null comment '扩展属性'
)
comment '已办表';
create table taskcenter_task_done_archive
(
pk_id varchar(64) not null comment '主键'
primary key,
task_id varchar(64) not null comment '任务id',
task_name varchar(255) not null comment '任务名称',
process_inst_name varchar(256) null comment '流程实例名称',
task_pc_url varchar(255) not null comment '任务处理url',
task_mobile_url varchar(255) null comment '任务处理url',
task_state varchar(10) null comment '业务状态,存储字典编码,前端确认显示字典',
user_id varchar(64) not null comment '参与者id',
sys_id varchar(64) not null comment '系统id',
sys_name varchar(255) not null comment '系统名称',
create_time datetime null comment '任务创建时间',
receiving_time datetime null comment '任务接收时间',
finsh_time datetime null comment '任务完成时间',
done_overdeu_time datetime null comment '已办任务超期时间',
archive_time datetime null comment '归档时间',
press_num int null comment '催办次数',
last_press_message varchar(255) null comment '催办消息,只记录最新的',
pin_to_top tinyint(1) default 0 not null comment '是否置顶(默认是0不置顶,否则是1置顶)',
done_extend1 varchar(255) null comment '扩展属性',
done_extend2 varchar(255) null comment '扩展属性',
done_extend3 varchar(255) null comment '扩展属性',
done_extend4 varchar(255) null comment '扩展属性',
done_extend5 varchar(255) null comment '扩展属性'
)
comment '归档表';
create table taskcenter_task_todo
(
pk_id varchar(64) not null comment '主键'
primary key,
task_id varchar(64) not null comment '任务id',
task_name varchar(255) not null comment '任务名称',
process_inst_name varchar(256) null comment '流程实例名称',
task_pc_url varchar(255) not null comment '任务处理url',
task_mobile_url varchar(255) null comment '移动端任务处理url',
task_state varchar(10) null comment '业务状态,存储字典编码,前端确认显示字典',
user_id varchar(64) not null comment '参与者id',
sys_id varchar(64) not null comment '系统id',
sys_name varchar(255) not null comment '系统名称',
create_time datetime null comment '任务创建时间',
receiving_time datetime null comment '任务接收时间',
todo_time_limit datetime null comment '待办任务超时时间',
press_num int null comment '催办次数',
last_press_message varchar(255) null comment '催办消息,只记录最新的',
pin_to_top tinyint(1) default 0 not null comment '是否置顶(默认是0不置顶,否则是1置顶)',
sort_by int default 0 null comment '排序字段',
todo_extend1 varchar(255) null comment '扩展属性',
todo_extend2 varchar(255) null comment '扩展属性',
todo_extend3 varchar(255) null comment '扩展属性',
todo_extend4 varchar(255) null comment '扩展属性',
todo_extend5 varchar(255) null comment '扩展属性'
)
comment '待办任务表';
AFCenter菜单脚本
INSERT INTO AFC_RES_GROUP_TEMPLATE (ID, NAME, CODE, TYPES, RES_TPL_TYPE, DESCRIPTION, APP_TPL_ID, BUSINESS_OBJ_ID,
IS_FIXED, SORT_NO, IS_PLATFORM, REUSE_TYPES)
VALUES ('801', '任务中心', 'taskcenter', NULL, NULL, NULL, '501', NULL, NULL, 54, '2', NULL);
INSERT INTO AFC_RESOURCE_TEMPLATE (ID, NAME, CODE, TYPES, APP_TPL_ID, RES_GROUP_TPL_ID, SUB_TYPE, DESCRIPTION,
BUSINESS_OBJ_ID, CONTENT, IS_FIXED, IS_PLATFORM, ROLE_TPL_CODE)
VALUES ('4821', '我的待办', 'taskcenter_todo', 'url', '1', '801', null, '我的待办页面', null,
'{"openType":"microApp","mark":"taskcenter_todo","url":null,"params":null,"microUrl":null,"microMark":"taskcenter","isLowOrHigh":"high","resourceCode":null,"formStatus":null,"resourceType":null,"viewType":null,"appCode":"AFCENTER","query":null,"processDefName":null,"biId":null,"biType":null,"bicode":null}',
null, '2', 'afc-role-tenant-manager');
INSERT INTO AFC_RESOURCE_TEMPLATE (ID, NAME, CODE, TYPES, APP_TPL_ID, RES_GROUP_TPL_ID, SUB_TYPE, DESCRIPTION,
BUSINESS_OBJ_ID, CONTENT, IS_FIXED, IS_PLATFORM, ROLE_TPL_CODE)
VALUES ('4822', '我的已办', 'taskcenter_done', 'url', '1', '801', null, '我的已办', null,
'{"openType":"microApp","mark":"taskcenter_done","url":null,"params":null,"microUrl":null,"microMark":"taskcenter","isLowOrHigh":"high","resourceCode":null,"formStatus":null,"resourceType":null,"viewType":null,"appCode":"AFCENTER","query":null,"processDefName":null,"biId":null,"biType":null,"bicode":null}',
null, '2', 'afc-role-tenant-manager');
INSERT INTO AFC_RESOURCE_TEMPLATE (ID, NAME, CODE, TYPES, APP_TPL_ID, RES_GROUP_TPL_ID, SUB_TYPE, DESCRIPTION,
BUSINESS_OBJ_ID, CONTENT, IS_FIXED, IS_PLATFORM, ROLE_TPL_CODE)
VALUES ('4841', '系统管理', 'taskcenter_system', 'url', '1', '801', null, '任务中心的系统管理', null,
'{"openType":"microApp","mark":"taskcenter_system","url":null,"params":null,"microUrl":null,"microMark":"taskcenter","isLowOrHigh":"high","resourceCode":null,"formStatus":null,"resourceType":null,"viewType":null,"appCode":"AFCENTER","query":null,"processDefName":null,"biId":null,"biType":null,"bicode":null}',
null, '2', 'afc-role-tenant-manager');
INSERT INTO AFC_MENU_TEMPLATE (ID, NAME, CODE, RES_TPL_ID, DESCRIPTION, SORT_NO, IS_LEAF, TREE_LEVEL, SEQ, PARENT_ID,
IS_FIXED, OPEN_TYPE, MENU_ICON, IS_PLATFORM, MENU_TYPE, APP_ID)
VALUES ('1321', '任务中心', 'taskcenter', null, null, 3, '0', null, null, 'root', null, null, null, null, null, null);
INSERT INTO AFC_MENU_TEMPLATE (ID, NAME, CODE, RES_TPL_ID, DESCRIPTION, SORT_NO, IS_LEAF, TREE_LEVEL, SEQ, PARENT_ID,
IS_FIXED, OPEN_TYPE, MENU_ICON, IS_PLATFORM, MENU_TYPE, APP_ID)
VALUES ('1322', '我的待办', 'taskcenter_todo', '4821', null, 3, '1', null, null, '1321', null, null, null, null, null,
null);
INSERT INTO AFC_MENU_TEMPLATE (ID, NAME, CODE, RES_TPL_ID, DESCRIPTION, SORT_NO, IS_LEAF, TREE_LEVEL, SEQ, PARENT_ID,
IS_FIXED, OPEN_TYPE, MENU_ICON, IS_PLATFORM, MENU_TYPE, APP_ID)
VALUES ('1323', '我的已办', 'taskcenter_done', '4822', null, 3, '1', null, null, '1321', null, null, null, null, null,
null);
INSERT INTO AFC_MENU_TEMPLATE (ID, NAME, CODE, RES_TPL_ID, DESCRIPTION, SORT_NO, IS_LEAF, TREE_LEVEL, SEQ, PARENT_ID,
IS_FIXED, OPEN_TYPE, MENU_ICON, IS_PLATFORM, MENU_TYPE, APP_ID)
VALUES ('1341', '系统管理', 'taskcenter_system', '4841', null, 3, '1', null, null, '1321', null, null, null, null, null,
null);
AFCenter菜单的数据库脚本都是模板表的脚本,添加时需要根据模板表的现有数据去更改id,同时把关联关系id也进行更改,然后初始化最后在AFCenter的通用管理-数据导入-同步资源处进行模板数据的同步即可
这里暂时只提供mysql的脚本,其他数据库请按照数据库方言进行修改
# 源码组件说明
com.primeton.bps.taskcenter.adapter 适配bps-server的组件包
com.primeton.bps.taskcenter.api api
com.primeton.bps.taskcenter.boot 启动类
com.primeton.bps.taskcenter.core 任务中心、任务推送组件包
com.primeton.bps.taskcenter.model 模型包
com.primeton.bps.taskcenter.starter 任务中心starter
# 集成说明
集成AFCenter
在AFCenter的打包项目中添加taskcenter的starter依赖,然后在AFCenter的数据库中执行taskcenter的数据库脚本及相关菜单的脚本后启动即可。
独立进程
使用eos-studio创建打包项目然后添加taskcenter的starter依赖,然后初始化taskcenter数据库脚本,同时在afcenter的数据库中执行微应用菜单的脚本,配置打包项目的数据库,修改nginx的代理路径,增加/api/task-center开头的请求路由到独立进程的后端服务。
依赖GAV信息
<!-- adapter -->
<dependency>
<groupId>com.primeton.bps</groupId>
<artifactId>com.primeton.bps.taskcenter.adapter</artifactId>
<version>${taskcenter.version}</version>
</dependency>
<!-- starter -->
<dependency>
<groupId>com.primeton.bps</groupId>
<artifactId>com.primeton.bps.taskcenter.starte</artifactId>
<version>${taskcenter.version}</version>
</dependency>
# bps-server适配任务中心adapter
在bps-server的安装目录lib下添加任务中心的api、model、adapter这三个jar包
在config目录下的properties配置文件中配置如下属性
task-center.name=AFCENTER //应用名称 根据集成的模式不同配置的应用名称也不同 task-center.pushTodoUrl=/api/taskcenter/push-task/todo #待办任务推送url 默认无修改情况下无需变动 task-center.pushDoneUrl=/api/taskcenter/push-task/done #已办任务推送url 默认无修改情况下无需变动 task-center.updateTodoUrl=/api/taskcenter/push-task/task #更新任务url 默认无修改情况下无需变动 task-center.removeUrl=/api/taskcenter/push-task/task #删除任务url 默认无修改情况下无需变动
在config/BPS-SERVER/config/wfengine-config.xml文件中找到名称为worklist_change_notify的module,然后将is_notify的值改为true,name的值改为com.primeton.bps.taskcenter.adapter.WorkListChangeNotifier
重新启动bps-server即可
# 集成MQ
任务中心可以集成任意mq进行任务推送处理,本例中使用rocketmq5.1.4版本做出相应说明,具体mq的安装及使用不在本文档中进行说明。
添加rocketmq-spring-boot-starter依赖
<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency>
增加消费者配置类
package com.primeton.bps.taskcenter.core.mq; import com.primeton.bps.taskcenter.api.ITaskPushService; import com.primeton.bps.taskcenter.core.utils.SdoConvertUtil; import com.primeton.bps.taskcenter.model.pojo.TaskTodo; import org.apache.rocketmq.spring.annotation.ConsumeMode; import org.apache.rocketmq.spring.annotation.MessageModel; import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; import org.apache.rocketmq.spring.core.RocketMQListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; @Component @RocketMQMessageListener(topic = "task-center-todo",consumerGroup = "task-center",consumeMode = ConsumeMode.CONCURRENTLY,messageModel = MessageModel.CLUSTERING) public class RocketMqConsumer implements RocketMQListener<List<TaskTodo>> { @Autowired private ITaskPushService pushService; //任务推送服务类 @Override public void onMessage(List<TaskTodo> taskTodos) { //推送待办任务 pushService.insertTodoTasks(SdoConvertUtil.convertTodo2List(taskTodos)); } }
配置mq地址
rocketmq.name-server=localhost:14876
启动任务中心服务
上述1-4步为集成mq的基本步骤,其中步骤2中的任务推送消费者还可定义推送已办任务、删除任务、更新待办这三个。根据每个mq的使用方式不同步骤2的消费者创建模式就不同,需要开发者自行根据具体mq去适配。
← 表结构说明 流程任务中心前端说明 →