[jeecgboot/jeecg-boot]部门邮编orgcode生成规则疑惑
回答
没明白
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,这就出问题了,数据隔离已经失去作用了,到底是哪个部门的数据已经分辨不出来了
不知道你ID怎么产生的,是不是直接插的库;第一层都是 A01 A02 第二级是 A01A01 A02A01 这样的不会重复;
记得 更新到 2.1.2,或者 改 updateDepart 那个函数 加上改缓存的 注解;哪有bug,切换库里值,没改redis 里的值;2.1.2 修复了
你的意思 2.1.2 版本是好的是吗
老兄,你没get到点,我说的是邮编生成规则的问题,即便是一级部门,从Z99往后部门邮编就变成长度为6位的字符串了,这跟缓存什么的没关系
能否对数字长度不做限制、不做补齐,从A1、A2开始,可以自由伸延至A99999999,字母“A”仅作为部门上下级的间隔符。对于已有的数据,将字母数字的组合转换为数字顺序。
可以自己扩展,默认我们是 一个字母+两位数字 不够的话,自己改下代码,扩展下吧