1、修改了应用程序设计级联查询条件清空问题。
修改文件:src/main/java/cn/tzsoft/roadflow/service/ProgramService.java


2、增加了流程表单打印时也执行页面脚本。
修改文件:src/web/element/src/roadui-pages/flow/run/index.vue

修改文件:src/web/element/src/roadui-pages/flow/archive/print.vue


mounted() {
this.$nextTick(() => {
//执行表单脚本
if (utils.length(data.script) > 0) {
eval(data.script);
}
});
},
methods: {
//子表计算合计
getSummaries(data) {
const columns = data.columns;
const tableData = data.data;
let sums = [];
for (let i = 0; i < columns.length; i++) {
if (columns[i]['className'] == '1') {
let sum = 0;
for (let j = 0; j < tableData.length; j++) {
sum = utils.accAdd(sum, parseFloat(tableData[j][columns[i].property]) || 0);
}
sums[i] = sum;
} else if ((i === 0 || i === 1) && !utils.inArray(sums, '合计') && columns[i]['type'] !== 'index') {
//如果设置合计,并且不是序号列,则显示合计标题。
sums[i] = '合计';
} else {
sums[i] = '';
}
}
return sums;
},
},3、修改了vite配置项错误。
修改文件:src/web/element/vite.config.js

4、修改了表单设计子表字段大小写问题。
修改文件:src/web/element/src/roadui-pages/form/form-design.js

5、修改了token延期问题。
修改文件:\src\main\java\cn\tzsoft\roadflow\service\UserService.java

6、修改了组织架构选择控件tab切换问题。
修改文件:\src\web\element\src\roadui-components\el-selectorg.vue

7、修改了表单设计数字输入控件最小值设置0无效的问题。
修改文件:src/web/element/src/roadui-pages/form/form-design.js


8、修改了步骤接收时抄送要判断前一步的处理策略。
修改文件:src/main/java/cn/tzsoft/roadflow/service/FlowRunService.java

9、修改了流程步骤设置无默认处理人跳过没有生效的问题。
修改文件:src/main/java/cn/tzsoft/roadflow/model/flowrun/FlowRunStepStrategyModel.java


修改文件:src/main/java/cn/tzsoft/roadflow/service/FlowService.java

修改文件:src/main/java/cn/tzsoft/roadflow/service/FlowRunService.java

10、修改了流程有转交时的退回策略判断
修改文件:src/main/java/cn/tzsoft/roadflow/service/FlowRunService.java

11、修改了流程步骤设置限制选择人数无效的问题。
修改文件:src/main/java/cn/tzsoft/roadflow/model/flowrun/FlowRunStepStrategyModel.java


修改文件:src/main/java/cn/tzsoft/roadflow/service/FlowService.java

修改文件:src/main/java/cn/tzsoft/roadflow/service/FlowRunService.java

12、修改了流程处理策略百分比判断的问题。
修改文件:src/main/java/cn/tzsoft/roadflow/service/FlowRunService.java

13、修改了批量处理待办列表过滤掉抄送和征求意见任务。
修改文件:src/main/resources/mapper-mysql/FlowTaskMapper.xml

14、修改了加签后任务不能处理问题。
修改文件:src/main/java/cn/tzsoft/roadflow/service/FlowRunService.java

15、修改了撤回判断策略。
修改文件:src/main/java/cn/tzsoft/roadflow/service/FlowTaskService.java

/**
* 得到一个任务是否可以撤回和催办
*
* @param taskModel 任务实体
* @return Pair<是否可撤回, 是否可催办, 如果返回可催办的人员id字符串不为空则表示可催办>
*/
public Pair<Boolean, String> getIsWithdrawOrUrge(FlowTaskModel taskModel) {
if (taskModel == null || NumberUtils.containsAny(taskModel.getHandleType(), 0, 1, 3, 5, 7, 8, 10, 11, 12, 13, 14)) {
return Pair.of(false, "");
}
List<FlowTaskModel> nextTasks = getNextTasks(taskModel.getId());
if (nextTasks.size() == 0) {
return Pair.of(false, "");
}
//后续任务还没有打开处理时可以撤回。
//2023-5-22增加条件 taskModel.getHandleType() != 4表示处理类型为退回的任务不能撤回
boolean isWithdraw = taskModel.getHandleType() != 4 && nextTasks.stream().allMatch(s -> s.getStatus() != 1);
if (isWithdraw) {
//判断如果是多人发送的任务也不能撤回,因为有策略,比如所有人同意,步骤已经多人审批通过了,不能撤回。
FlowTaskModel nextStepTaskModel = nextTasks.stream().filter(s -> s.getStepId() != taskModel.getStepId()).findFirst().orElse(null);
if (nextStepTaskModel != null) {
Stream<FlowTaskModel> stepStream = getGroupList(taskModel.getGroupId()).stream()
.filter(s -> s.getStepId() == nextStepTaskModel.getStepId() && s.getReceiveOrder() == taskModel.getReceiveOrder() && s.getPrevId() != taskModel.getId());
isWithdraw = stepStream.count() == 0;
}
}
//后续有任务没有完成时可以催办。
List<FlowTaskModel> urgeTaskModelList = nextTasks.stream().filter(CommonUtils.distinctByKey(FlowTaskModel::getReceiverId)).filter(s -> s.getStatus() == 0).collect(Collectors.toList());
StringJoiner urgeMembers = new StringJoiner(",");
for (FlowTaskModel urgeTaskModel : urgeTaskModelList) {
//催办人员ID和任务ID用|线分开,发送消息时要用到任务ID获取连接。
urgeMembers.add(urgeTaskModel.getReceiverId() + "|" + urgeTaskModel.getId());
}
return Pair.of(isWithdraw, urgeMembers.toString());
}修改文件:src/main/java/cn/tzsoft/roadflow/service/FlowRunService.java

/**
* 执行撤回
*
* @param executeModel 执行实体
* @param resultModel 执行结果实体
* @param updateTasks 要更新的任务
* @param deleteTasks 要删除的任务
*/
private void executeWithdraw(FlowRunExecuteModel executeModel, FlowRunExecuteResultModel resultModel, List<FlowTaskModel> updateTasks, List<FlowTaskModel> deleteTasks) {
FlowTaskModel currentTaskModel = executeModel.getTaskModel();
if (!flowTaskService.getIsWithdrawOrUrge(currentTaskModel).getLeft()) {
resultModel.setCode(5006);
resultModel.setMessage("不能撤回!");
resultModel.setDebugMessage("不能撤回!");
return;
}
List<FlowTaskModel> groupTasks = flowTaskService.getGroupList(currentTaskModel.getGroupId());
//删除后续没有打开处理的任务
List<FlowTaskModel> withdrawTaskModels = groupTasks.stream().filter(s -> s.getPrevId() == currentTaskModel.getId()).collect(Collectors.toList());
deleteTasks.addAll(withdrawTaskModels);
//更新当前任务状态
currentTaskModel.setHandleType(1);
currentTaskModel.setStatus(0);
currentTaskModel.setCompletedTime(null);
updateTasks.add(currentTaskModel);
resultModel.getNextTasks().add(currentTaskModel);
logService.add("撤回了流程任务-" + currentTaskModel.getTitle(), withdrawTaskModels.toString(), LogService.type.FLOWRUN);
}|
联系QQ:493501010电话:136 0832 5512(微信同号)邮箱:road@roadflow.net
Copyright 2014 - 2025 重庆天知软件技术有限公司 版权所有
|