wxl103010 发表于 2018-11-15 11:18:32

用户表添加后出现两个

本帖最后由 wxl103010 于 2018-11-15 11:37 编辑

版本号:jeecg3.7.2
问题截图:

问题代码:
                                 //公共信息
                              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,里面显示的都是一个,但就是添加好后,在人员表中查看,就如上图,非得两个。
    就这毛病我想了几个小时了,都要疯了!!!!


最终效果:跟正常人员表里添加的结果一样就行。

wxl103010 发表于 2018-11-16 18:52:27

把两个关联表添加的方法去掉就好了。我是直接从别处摘的代码,这儿写重了。
页: [1]
查看完整版本: 用户表添加后出现两个