关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、3102411850 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 6062|回复: 1

[系统权限] 用户表添加后出现两个

[复制链接]
发表于 2018-11-15 11:18:32 | 显示全部楼层 |阅读模式
本帖最后由 wxl103010 于 2018-11-15 11:37 编辑

版本号:jeecg3.7.2
问题截图:
QQ截图20181115111647.png
问题代码:
                                 //公共信息
                                String roleid = oConvertUtils.getString("297e8ac3671001d00167101481d8000f");//“专家”角色id
                                String orgid = oConvertUtils.getString(request.getParameter("orgIds"));//部门id
                                String key = "123456";
                                //添加用户表
                                TSUser user = new TSUser();
                                user.setUserName(probaseinfob.getProCode());//用户名,专家编号为用户名
                                user.setRealName(probaseinfob.getProBy());//真实姓名,专家姓名
                                user.setPassword(key);//密码。密码未加密???
                                user.setUserKey("专家");
                                user.setStatus(Globals.User_Normal);// 状态1:在线,2:离线,0:禁用
                                user.setDeleteFlag(Globals.Delete_Normal);// 状态: 0:不删除  1:删除
                                user.setDevFlag("0");//疑似开发权限选项
                                user.setUserType("1");
                                userService.saveOrUpdate(user, orgid.split(","),roleid.split(",") );
                                //用户组织机构关系表
                                List<TSUserOrg> userOrgList = new ArrayList<TSUserOrg>();
                        List<String> orgIdList = extractIdListByComma(orgid);
                        for (String orgId : orgIdList) {
                            TSDepart depart = new TSDepart();
                            depart.setId(orgId);
                            TSUserOrg userOrg = new TSUserOrg();
                            userOrg.setTsUser(user);
                            userOrg.setTsDepart(depart);
                            userOrgList.add(userOrg);
                        }
                        if (!userOrgList.isEmpty()) {
                            systemService.batchSave(userOrgList);
                        }
                                //系统角色用户关系表
                                TSRoleUser rUser = new TSRoleUser();
                                TSRole role = systemService.getEntity(TSRole.class, roleid);
                                rUser.setTSRole(role);
                                rUser.setTSUser(user);
                                systemService.save(rUser);
                                //系统用户基础表
                                TSBaseUser tsb = systemService.findUniqueByProperty(TSBaseUser.class, "userName", user.getUserName());
                                tsb.setStatus(new Short("1"));
                                systemService.save(tsb);

报错信息:无

问题异常出现流程:

    按以上方式,我自己建的表信息添加后,运行以上方向,可以同时将信息添加到用户表中,但用户表的组织机构和角色,是两份!!!


    是两份!!!


    数据库里我查过了,与用户表相关的四个表也查过了,并且debug,里面显示的都是一个,但就是添加好后,在人员表中查看,就如上图,非得两个。


    就这毛病我想了几个小时了,都要疯了!!!!


最终效果:跟正常人员表里添加的结果一样就行。
 楼主| 发表于 2018-11-16 18:52:27 | 显示全部楼层
把两个关联表添加的方法去掉就好了。我是直接从别处摘的代码,这儿写重了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表