[jeecgboot/jeecg-boot]部门邮编orgcode生成规则疑惑

2024-02-22 301 views
3
版本号:2.1.1
问题描述:部门邮编z99的下一个邮编为z99a01,这与z99的子部门z99a01一模一样,这样在部门权限的识别上会存在歧义吧?

回答

2

没明白

8

1、我先添加一个一级部门“第二测试单位”,然后自动生成的ORG_CODE为Z99

第二测试单位

2、我在“第二测试单位”下添加一个“第二测试单位子部门”,生成的ORG_CODE为Z99A01

第二测试单位子部门

3、我再添加一个一级部门“第三测试单位”,然后因为同级部门“第二测试单位”的ORG_CODE为Z99,已经是最大值了,根据String getNextYouBianCode(String code)方法,为“第三测试单位”生成的RG_CODE为Z99A01,与“第二测试单位子部门”的ORG_CODE完全相同。

第三测试单位

4、我需要用到数据权限中的数据隔离控制功能,按照建表规范,在数据表中添加了SYS_ORG_CODE字段,然而该字段赋值取决于当前登陆部门的ORG_CODE,在这种规则之下,我用“第二测试单位子部门”的账户登陆和用“第三测试单位”的账户登陆,添加的数据表新记录的SYS_ORG_CODE字段值都是Z99A01,这就出问题了,数据隔离已经失去作用了,到底是哪个部门的数据已经分辨不出来了

0

不知道你ID怎么产生的,是不是直接插的库;第一层都是 A01 A02 第二级是 A01A01 A02A01 这样的不会重复;

5

记得 更新到 2.1.2,或者 改 updateDepart 那个函数 加上改缓存的 注解;哪有bug,切换库里值,没改redis 里的值;2.1.2 修复了

8

你的意思 2.1.2 版本是好的是吗

4

老兄,你没get到点,我说的是邮编生成规则的问题,即便是一级部门,从Z99往后部门邮编就变成长度为6位的字符串了,这跟缓存什么的没关系

3

能否对数字长度不做限制、不做补齐,从A1、A2开始,可以自由伸延至A99999999,字母“A”仅作为部门上下级的间隔符。对于已有的数据,将字母数字的组合转换为数字顺序。

1

可以自己扩展,默认我们是 一个字母+两位数字 不够的话,自己改下代码,扩展下吧