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 - 2024 重庆天知软件技术有限公司 版权所有
|