JRoadFlow3.1.7升级日志

1、修改了应用程序设计分类改变发布后应用程序库中没变的问题。

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

    image.png

2、修改了多人不同步骤同时编辑表单时存在数据覆盖的问题。

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

    增加方法:

    image.png

     /**
     * 更新表单json数据,取原来数据json(rf_flow_data表中的json数据)来更新当前步骤状态不为编辑的字段。
     *
     * @param dataJson        json数据
     * @param groupId         组id
     * @param stepFieldStatus 步骤上设置的字段状态
     */
    public void updateStepDataJson(JsonNode dataJson, long groupId, List<FlowRunStepDataModel> stepFieldStatus) {
        if (dataJson == null || stepFieldStatus == null || stepFieldStatus.size() == 0 || groupId < IdGenerator.MIN_VALUE) {
            return;
        }
        long formId = JsonUtils.getLong(dataJson, "formId");
        FlowDataModel flowDataModel = get(groupId, formId);
        if (flowDataModel == null) {
            return;
        }
        JsonNode dataJson1 = JsonUtils.getJsonNode(flowDataModel.getJsonData());
        if (dataJson1.isEmpty()) {
            return;
        }
        ObjectNode objectNode = (ObjectNode) dataJson;
        for (Iterator<String> it = dataJson.fieldNames(); it.hasNext(); ) {
            String key = it.next();
            FlowRunStepDataModel status = stepFieldStatus.stream().filter(s -> s.getId().equals(key)).findFirst().orElse(null);
            //如果不是编辑状态,则用原有数据替换。
            if (status != null && status.getStatus() != 0) {
                objectNode.set(key, JsonUtils.getJsonNode(dataJson1, key));
            }
        }
        //子表
        FormModel formModel = formService.get(JsonUtils.getLong(dataJson, "formCode"));
        //bool isCustomForm = false;//是否是自定义表单
        if (formModel == null) {
            //自定义表单,从dataJson中的formAttrJson取表单设置。
            formModel = new FormModel();
            formModel.setAttrJson(JsonUtils.getString(dataJson, "formAttrJson"));
            formModel.setSubtableJson(JsonUtils.getString(dataJson, "formSubtableJson"));
        }
        if (StringUtils.isBlank(formModel.getAttrJson())) {
            return;
        }
        ArrayNode subtableJArray = JsonUtils.getArrayNode(formModel.getSubtableJson());
        for (JsonNode subtableJ : subtableJArray) {
            String subtableId = JsonUtils.getString(subtableJ, "id");
            if (StringUtils.isBlank(subtableId)) {
                subtableId = JsonUtils.getString(subtableJ, "table");
            }
            ArrayNode stubtableDataJson = JsonUtils.getArrayNode(dataJson, subtableId);
            ArrayNode stubtableDataJson1 = JsonUtils.getArrayNode(dataJson1, subtableId);
            //循环子表数据行
            for (JsonNode subtableDataJ : stubtableDataJson) {
                //循环子表数据列
                ObjectNode subtableDataJObjectNode = (ObjectNode) subtableDataJ;
                for (Iterator<String> it = subtableDataJ.fieldNames(); it.hasNext(); ) {
                    String subtableDataKey = it.next();
                    if (subtableDataKey.equals("key")) {
                        continue;
                    }
                    String finalSubtableId = subtableId;
                    FlowRunStepDataModel subStatus = stepFieldStatus.stream().filter(s -> s.getId().equals((finalSubtableId + "." + subtableDataKey).toLowerCase())).findFirst().orElse(null);
                    //如果不是编辑状态,则用原有数据替换。
                    if (subStatus != null && subStatus.getStatus() != 0) {
                        for (JsonNode subtableDataJ1 : stubtableDataJson1) {
                            if (JsonUtils.getString(subtableDataJ1, "key").equals(JsonUtils.getString(subtableDataJ, "key"))) {
                                subtableDataJObjectNode.set(subtableDataKey, JsonUtils.getJsonNode(subtableDataJ1, subtableDataKey));
                            }
                        }
                    }
                }
            }
        }
    }

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

    image.png

3、登录增加了验证码。

    增加文件:src/main/java/cn/tzsoft/roadflow/service/VerifyCodeService.java

    增加文件:src/main/java/cn/tzsoft/roadflow/common/VerifyCodeUtils.java

    修改文件:src/main/java/cn/tzsoft/roadflow/controller/web/FilesController.java

    image.png

    修改文件:src/main/java/cn/tzsoft/roadflow/controller/webapi/HomeController.java

    image.png

    image.png

    image.png

    修改文件:src/web/element/src/roadui-pages/login.vue

    image.png

    image.png

    image.png

    image.png

联系QQ:493501010电话:136 0832 5512(微信同号)邮箱:road@roadflow.net
Copyright 2014 - 2024 重庆天知软件技术有限公司 版权所有