Commit 81e22770 authored by 马超's avatar 马超

Merge branch 'develop' into 'master'

Develop

See merge request doc/ldp-docs!6
parents ef01cced 6eda1816
......@@ -23,6 +23,150 @@
## 2021-05-11
版本号: **1.2.41**
**base-service**
`Feat`
1. 职位添加排序字段
2. 权限元素挂载默认去掉添加、删除
3. 动态更新添加允许更新指定NULL字段
4. 报表模块初始化SQL
`Fix`
1. 修改定时任务日志注解优先级(解决不能和@Transactional公用的问题)
2. 修复内部服务请求不能获取到request的问题(影响范围:异步任务中执行服务间调用)
3. 修复查询参数clone方式
4. 更新关联查询命名参数重复问题
**mcs-service**
`Feat`
1. 职位排序
2. 默认填充算法扩展为可替换
`Fix`
1. 数据权限过滤已删除的组织
2. 修复mysql5.7删除语句不能使用别名的问题
3. 修复应用权限获取失败的bug
4. 修复树形转换工具类错误数据导致正确数据无法加载的问题
**mcs-ui**
`Feat`
1. 职位模块排序值
2. 报表分类模块
3. 报表管理模块
4. 报表参数模块
5. 报表预览查看
6. 菜单新增通过页面类型配置地址(ureport报表、其它)
`Fix`
1. 修复组织树分页问题
2. 修复token打开界面参数丢失问题
**ureport-service**
`Feat`
1. 添加报表分类模块
2. 添加报表管理模块
3. 扩展报表参数管理
4. 扩展自定义参数
5. 扩展报表渲染界面
**bpm-service**
版本:**1.0.17**
`Feat`
1. 委派任务,协办方时间修改
2. 流程实例名称可配置化
3. 扩展回调请求超时时间配置
4. 隐藏按钮可配置化
`Fix`
1. 修复退回时流程变量获取失败的问题
**bpm-ui**
`Feat`
1. 执行界面按钮适配移动端
2. firefox浏览器关闭窗口逻辑
3. 填写流转条件的方式优化
4. 按钮是否隐藏
`Fix`
1. 修复退回时流程变量获取失败的问题
`other`
1. 优化表格展示方式
### 本次更新方式
1. 替换ldp-manage/fatjar 目录下对应的jar包
2. 替换nginx中mcs、bpm的前端代码
3. 脚手架更新到`1.2.41`
4. `gateway-service-dev.yml``gateway-service-prod.yml`,报表静态文件的放行规则、报表服务放行规则:
```yml
ldp:
filter:
ignore-files:
...
...
# 新增放行文件类型
- ico
- svg
- woff
- woff2
- ttf
ignore-urls:
...
...
# 报表服务放行路径
- /ureport-service/urpt/html_*/**
- /ureport-service/open/**
```
- 报表安装部署文档参照:[报表系统安装部署文档](报表系统集成/报表系统安装部署文档.md)
- 报表使用文档参照:[报表系统集成使用文档](报表系统集成/报表系统集成使用文档.md)
- BPM配置说明文档参照:[流程系统集成/流程系统开发配置说明](流程系统集成/流程系统开发配置说明.md)
## 2021-04-14
版本号: **1.2.29**
......
......@@ -103,6 +103,8 @@ cp -r bpm/ui/bpm /usr/local/nginx/html/
## 三、启动bpm服务
脚本位于LDP安装目录:
```shell
# 启动
cd tool/
......
# 报表系统安装部署
流程管理系统需要依赖于LDP框架**1.1.29**以上,如果版本过低,请先升级版本。
## 一、修改NACOS配置文件
如果LDP框架版本是由低版本升级,需要先导入配置文件,再修改,下载地址:[report配置文件](http://devdown.shxrtech.com/nacos_config_report_2021-05-07.zip)
#### 1.1、导入报表配置文件(版本1.1.29以上可忽略)
打开NACOS,在配置列表界面,点击导入配置,上传文件时选择下载的zip包即可。
![导入配置](../progress/85导入配置.png)
**修改gateway配置文件**
`gateway-service-dev.yml``gateway-service-prod.yml`,报表静态文件的放行规则、报表服务放行规则:
```yml
ldp:
filter:
ignore-files:
...
...
# 新增放行文件类型
- ico
- svg
- woff
- woff2
- ttf
ignore-urls:
...
...
# 报表服务放行路径
- /ureport-service/urpt/html_*/**
- /ureport-service/open/**
```
#### 1.2、修改报表配置文件
修改`ureport-service-dev.yml``ureport-service-prod.yml` 配置文件
##### 1.2.1、修改报表数据库服务连接
![报表服务数据库](./image/82NACOS报表服务数据库.png)
##### 1.2.2、修改报表默认数据源连接
![报表默认数据源](./image/83NACOS报表默认数据源.png)
##### 1.2.3、修改redis连接
![redis配置](./image/84NACOS-redis配置.png)
## 二、启动服务
启动脚本位于LDP安装目录: ldp-manage/tool
```shell
./report-boot.sh start
```
操作文档参考:[报表系统集成使用文档](报表系统集成使用文档.md)
## 三、常见问题
暂无
\ No newline at end of file
# BPM安装部署文档
流程管理系统需要依赖于LDP框架**1.1.22**以上,如果版本过低,请先升级版本。
## 一、修改NACOS配置文件
如果LDP框架版本是由低版本升级,也可需要先导入,再修改,下载地址:[bpm配置文件](http://devdown.shxrtech.com/nacos-config-bpm-2021-02-08.zip)
#### 导入BPM配置文件(版本1.1.22以上可忽略)
上传文件时选择下载的zip包即可。
![导入](../progress/85导入配置.png)
修改gateway配置文件`gateway-service-dev.yml``gateway-service-prod.yml`,增加bpm应用配置
```yml
- id: bpm-app
realmcode: app
clientid: mcpsos0mqwqzd60t
```
#### 修改BPM配置文件
如果是从**1.1.22**开始安装的,则只需要修改nacos上的配置文件,`bpm-service-dev.yml``bpm-service-prod.yml`,
##### 修改数据库连接
![修改数据库连接](../progress/86修改数据库连接.png)
##### 修改redis连接
![修改redis连接](../progress/87修改redis连接.png)
## 二、解压tar.gz包并拷贝文件
首先需要解压bpm压缩包
```shell
# 当前目录是ldp-manage
tar -zxvf ldp-bpm-1.0.0.tar.gz
```
解压后的目录结构
```shell
bpm
├── bpm-startup-1.0.0.jar
└── ui
└── bpm
├── favicon.ico
├── fonts
├── img
├── index.html
└── static
├── css
├── img
└── js
```
拷贝jar包到fatjar目录
```shell
# 拷贝jar包
cp bpm/bpm-startup-1.0.0.jar fatjar/
```
拷贝静态文件到nginx/html目录
```shell
# 拷贝静态文件到html目录
cp -r bpm/ui/bpm /usr/local/nginx/html/
```
修改nginx配置文件,添加以下内容
```conf
location /bpm {
try_files $uri $uri/ /bpm/index.html;
}
```
重启nginx
```shell
#关闭nginx
./nginx -s stop
```
```shell
#启动nginx
./nginx
```
## 三、启动bpm服务
```shell
# 启动
cd tool/
./bpm-boot.sh start
```
## 四、安装字体文件
绘制流程图时,如果有中文,需要配置字体文件,并在安装服务器上安装字体文件,否则绘制的流程图会出现乱码 ,默认已经配置为宋体,bootstrap-dev.yml 或 bootstrap-prod.yml
```
ldp:
flowable:
font-name: 宋体
```
在服务器上安装相应字体,这里用宋体举例,参考: https://www.cnblogs.com/cuishuai/p/8441132.html
**linux 字体安装:**
```shell
# 安装字体配置
yum install -y fontconfig mkfontscale
#从windows系统中复制C:\Windows\Fonts\simsun.ttc 宋体字体文件到目录/usr/share/fonts/
# 创建字体缓存
cd /usr/share/fonts/ & mkfontscale & mkfontdir & fc-cache
#查看中文字体
fc-list :lang=zh
```
**重启服务**
```shell
./bpm-boot.sh start
```
## 五、常见问题QA
如果遇到启动时flyway报以下错误:
```log
2021-04-13 17:01:03,836 [ERROR] [main] org.flywaydb.core.internal.command.DbMigrate [Slf4jLog.java : 57] Migration of schema `sinra_bpm_db` to version 1.0.1 - create bpm table failed! Please restore backups and roll back database and code!
2021-04-13 17:01:05,023 [ERROR] [main] org.springframework.boot.SpringApplication [SpringApplication.java : 826] Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initFlywayLoader' defined in class path resource [com/sinra/ldp/bpm/config/SyncUserInfoToRedisConfig.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException:
Migration V1.0.1__create_bpm_table.sql failed
---------------------------------------------
SQL State : 42S02
Error Code : 1146
Message : Table 'sinra_bpm_db.act_ge_bytearray' doesn't exist
Location : db/mysql/V1.0.1__create_bpm_table.sql (/usr/local/ldp-manage/tool/file:/usr/local/ldp-manage/fatjar/bpm-startup-1.0.7.jar!/BOOT-INF/classes!/db/mysql/V1.0.1__create_bpm_table.sql)
Line : 105
Statement : INSERT INTO `act_ge_bytearray`(`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`)
VALUES ('0876769a-7d57-11eb-8fd3-02429dba8ba5', 1, 'source', NULL,
0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E732078
```
检查mysql是否区分大小写,在mysql执行:
```sql
show Variables like '%table_names'
```
确认`lower_case_table_names`值是否为1,如果不等于1,则表示开启了大小写区分,按照以下步骤处理:
1. 关闭大小写区分;
2. 删掉之前创建的表;
3. 重新启动BPM;
\ No newline at end of file
# 流程系统开发配置说明
流程系统配置文件说明:
```yml
ldp:
flowable:
# 字体文件
font-name: 宋体
# BPM系统发起流程时,流程实例标题规则
bpm-process-title-el-expression: '{#userName}发起{#processDefName}'
# API发起流程时,流程实例标题规则
api-process-title-el-expression: '{#userName}发起{#processDefName}'
# 节点没有认领人,则跳过
skip-approve-without-claim-user: true
# 委派逻辑,协办人执行界面按钮是否需要隐藏
hidden-button-when-task-delegate: true
```
## 一、流程实例标题规则
流程实例标题规则有两个`bpm-process-title-el-expression``api-process-title-el-expression`。在BPM系统中,通过页面发起流程时,读取`bpm-process-title-el-expression`,通过开发API接口发起流程则读取`api-process-title-el-expression`
**1.1、 默认内置变量**
规则通过EL表达式读取变量来进行替换
| 变量名称 | 变量值 | 备注 |
| ----------------- | ------------ | ---- |
| {#userName} | 当前用户名 | |
| {#userAccount} | 当前用户账号 | |
| {#processDefName} | 流程定义名称 | |
`bpm-process-title-el-expression` **只能使用这3个变量** 来组装流程实例 名称,例如:
```yml
申请人{#userName}发起{#processDefName}
{#userAccoun}发起流程{#processDefName}
```
**1.2 、API请求扩展外部变量**
`api-process-title-el-expression`除了内置变量以外,还可以通过传入流程变量来添加变量,举例,假如需要一个项目编码、项目名称:
调用方代码:
```java
//将项目编码、项目名称放入流程变量
Map<String, Object> processVariables = new HashMap<>();
processVariables.put("projectCode", projectCode);
processVariables.put("projectName", projectName);
//将流程变量设置到启动参数中
ProcessParam processParam = new ProcessParam();
processParam.setProcessVariables(processVariables);
// 这里省略一些其它代码
ProcessParam processParam = new ProcessParam();
processParam.setProcessVariables(processVariables);
processEngineService.start(formKey, businessKey, processParam)
```
`api-process-title-el-expression`就能使用内置变量和这两个流程变量一起来构建流程实例名称,例如:
```yml
申请人{#userName}发起的{#projectName}项目流程{#processDefName}
{#userName}发起流程项目编码{#projectCode}
```
这里假定userName为"张三",项目名称为 "凤凰",项目编码为"P001",流程定义名称 ”资源协调“
根据上面两个规则分别生成的标题为:
1、申请人**张三**发起的**凤凰**项目流程**资源协调**
2、**张三**发起流程项目编码**P001**
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment