杜洪波
2024-09-02 c24294ce1c78119eced850687119879f03a88e1d
代码提交
已修改1个文件
11 ■■■■■ 文件已修改
src/main/java/com/product/file/service/DocumentDirectoryService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/file/service/DocumentDirectoryService.java
@@ -76,6 +76,7 @@
            if (!originParent.equals(tricodeParent)) {
                String originTricode = BaseUtil.strIsNull(fseOrigin.getString(CmnConst.TRICODE)) ? "" : fseOrigin.getString(CmnConst.TRICODE);
                tricode = CodeUtil.getNewCodeByTemp(CmnConst.PRODUCT_OA_DIRECTORY, CmnConst.TRICODE, tricodeParent);
                // 刷新code
                StringBuilder sql = new StringBuilder();
                sql.append("update product_oa_directory ");
                sql.append("set tricode=concat(replace(substring(tricode,1,locate(?,tricode)+length(?)),?,?),substring(tricode,locate(?,tricode)+length(?)+1)), ");
@@ -83,12 +84,20 @@
                sql.append("where tricode like ? ");
                baseDao.executeUpdate(sql.toString(), new Object[]{originTricode, originTricode, originTricode, tricode, originTricode, originTricode,
                        originTricode, originTricode, originTricode, tricode, originTricode, originTricode, originTricode + "-%"});
                // 刷新层级
                StringBuilder sb = new StringBuilder();
                sb.append("UPDATE product_oa_directory \n");
                sb.append("SET directory_tier = ( \n");
                sb.append("    (LENGTH(tricode) - LENGTH(REPLACE(tricode, '-', '')) + 1) \n");
                sb.append(") \n");
                sb.append("WHERE tricode LIKE ? \n");
                baseDao.executeUpdate(sb.toString(), new Object[] {tricode + "%"});
            }else {
                tricode = fseOrigin.getString(CmnConst.TRICODE);
            }
        }
        fse.setValue(CmnConst.TRICODE, tricode);
        fse.setValue(CmnConst.DIRECTORY_TIER, tricode.split(",").length);
        fse.setValue(CmnConst.DIRECTORY_TIER, tricode.split("-").length);
        return baseDao.saveFieldSetEntity(fse);
    }