JRoadFlow3.2.0升级日志

1、修改了应用程序设计级联查询条件清空问题。

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

    image.png

    image.png

2、增加了流程表单打印时也执行页面脚本。

    修改文件:src/web/element/src/roadui-pages/flow/run/index.vue

    image.png

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

    image.png

    image.png

   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

    image.png

4、修改了表单设计子表字段大小写问题。

    修改文件:src/web/element/src/roadui-pages/form/form-design.js

    image.png

5、修改了token延期问题。

    修改文件:\src\main\java\cn\tzsoft\roadflow\service\UserService.java

    image.png

6、修改了组织架构选择控件tab切换问题。

    修改文件:\src\web\element\src\roadui-components\el-selectorg.vue

    image.png

7、修改了表单设计数字输入控件最小值设置0无效的问题。

    修改文件:src/web/element/src/roadui-pages/form/form-design.js

    image.png

    image.png

8、修改了步骤接收时抄送要判断前一步的处理策略。

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

    image.png

9、修改了流程步骤设置无默认处理人跳过没有生效的问题。

    修改文件:src/main/java/cn/tzsoft/roadflow/model/flowrun/FlowRunStepStrategyModel.java

    image.png

    image.png

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

    image.png

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

image.png

10、修改了流程有转交时的退回策略判断

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

    image.png

11、修改了流程步骤设置限制选择人数无效的问题。

    修改文件:src/main/java/cn/tzsoft/roadflow/model/flowrun/FlowRunStepStrategyModel.java

    image.png

    image.png

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

    image.png

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

    image.png

12、修改了流程处理策略百分比判断的问题。

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

    image.png

13、修改了批量处理待办列表过滤掉抄送和征求意见任务。

    修改文件:src/main/resources/mapper-mysql/FlowTaskMapper.xml

    image.png

14、修改了加签后任务不能处理问题。

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

    image.png

15、修改了撤回判断策略。

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

    image.png

  /**
 * 得到一个任务是否可以撤回和催办
 *
 * @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

    image.png

  /**
 * 执行撤回
 *
 * @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 重庆天知软件技术有限公司 版权所有